环境准备:
centos 7
thinkphp6
nginx
小皮面板
本想着根据官方指引https://www.kancloud.cn/manual/thinkphp6_0/1359700
完成安装,结果中间波折挺多!
1、安装小皮面板https://www.xp.cn/linux.html
2、小皮面板创建网站、数据库一些
3、安装最新版thinkphp ,根据手册即可https://www.kancloud.cn/manual/thinkphp6_0/1037481,我安装的是tp6
4、在小皮面板中,安装composer
5、在小皮面板中,找到自己的网站,开启swoole扩展
6、小皮面板命令,终端输入 xp ,然后输入数字16 切换你网站系统的php版本,这个很重要(虽然简单,但是没找到方法前,折磨了我个把小时)
7、根据https://www.kancloud.cn/manual/thinkphp6_0/1359700 官方指引安装,由于通过小皮面板安装的composer,我这边直接输入系统输入composer命令是不认的,可以两种办法,
一:mv /usr/locao/phpstudy/soft/composer/composer-1.6/composer.phar /usr/local/bin/composer
二:每次用composer时候,输入绝对地址 /usr/locao/phpstudy/soft/composer/composer-1.6/composer.phar ,比如:
/usr/locao/phpstudy/soft/composer/composer-1.6/composer.phar self-update
8、上面虽然小皮面板给php环境开了swoole拓展,但是并不保证你要安装最新的swoole需要的扩展版本是这一个,因为面板安装的扩展不一定是最新的,通过php --ri swool查看 扩展的版本;我的就不是最新的,自己重新编译了下swoole扩展;
9、编译最新的swoole扩展(第9部,按照我的方法可以忽略,具体可以参考下https://blog.51cto.com/12750968/2323635?source=dra)
1、https://pecl.php.net/package/swoole 下载最新的swoole wget https://pecl.php.net/get/swoole-4.5.2.tgz
2、tar -zxvf swoole-4.5.2.tgz
3、cd swoole-4.5.2
4、 phpize 生成 ./configure 文件使用 对应php版本的,
phpize 作用:
侦测环境,根据当前 php 信息生成 ./configure 文件
为编译安装的 php 创建外挂模块,不用再次编译 php
执行之后会生成 ./configure 文件
命令: /usr/local/phpstudy/soft/php/php-7.3.8/bin/phpize
5、./configure --with-php-config= /usr/local/phpstudy/soft/php/php-7.3.8/etc/php-config
6、make && sudo make test && sudo make install 之后需要重启fpm
7、php --ri swoole查看下 swoole扩展版本号是否变过来了
10、跳过第9部,直接composer require topthink/think-swoole 安装,是的,一直安装不上报unzip 一些错误,加了扩展一些最终还是没搞定,呵呵,只能曲线解决了,我windows的phpstudy,对 windows下,牢记
在项目根目录下composer require topthink/think-swoole --ignore-platform-reqs ,加上 --ignore-platform-reqs
表示忽略依赖检测,因为在Win下是无法安装Swoole的,成功了呵呵,然后去查看下根目录的 config
目录下会多出配置文件 swoole.php,然后vendor和vendor\topthink里面多了相关文件件,如topthink\think-swoole等,表示成功了,然后把整个工程传回centos下,呵呵 就这么委屈的成功了!
11、这时,你兴冲冲的去运行 php think swoole 命令,却半天没反应或者提示你 "Could not open input file: think",好心塞啊,看了半天,项目根目录下think目录在啊,怎么就找不到呢,先是以为授权问题,搞了没成功,怎么办呢,最后抱着试试态度,用了绝对地址,惊喜出来了,好了 php /www/admin/www.16mytest.com_80/wwwroot/think swoole,成功了,哎!
12、如果你是本地跑swoole.php 配置文件里面默认是127.0.0.1,你可以访问,但是应该没人这么跑吧,在centos下难道你用xwin浏览器么!!,所以建议你改成0.0.0.0地址,哈哈 局域网就可以访问了;
以上坑踩过了,希望对你有帮助! 文采有限,将就看吧~o(* ̄︶ ̄*)o