### 问题描述
swoole安装步骤是照着文档来的,并且已经在php.ini中添加extension=swoole.so,但是这里有一个问题,我发现php.ini有两个,一个在
/ect/php.ini
另外一个在
/lnmp/php7/lib/php.ini
首先我在/ect/php.ini中添加extension=swoole.so之后,php -m能够看到swoole模块已经被添加,但是phpinfo()查不到swoole,而且运行php代码报错
“`php
Fatal error: Uncaught Error: Class ‘Swoole\Http\Server’ not found in /lnmp/nginx/html/index.php:2 Stack trace: #0 {main} thrown in /lnmp/nginx/html/index.php on line 2
“`
这会不会是swoole扩展没加载进php导致找不到类呢,然后我把/lnmp/php7/lib/php.ini文件也加上了extension=swoole.so,但是这时候php-fpm会报错
“`php
[28-Jul-2020 06:12:37] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library ‘swoole.so’ (tried: /lnmp/php7/lib/php/extensions/no-debug-non-zts-20180731/swoole.so (/lnmp/php7/lib/php/extensions/no-debug-non-zts-20180731/swoole.so: cannot open shared object file: No such file or directory), /lnmp/php7/lib/php/extensions/no-debug-non-zts-20180731/swoole.so.so (/lnmp/php7/lib/php/extensions/no-debug-non-zts-20180731/swoole.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Warning
: PHP Startup: Unable to load dynamic library ‘swoole.so’ (tried: /lnmp/php7/lib/php/extensions/no-debug-non-zts-20180731/swoole.so (/lnmp/php7/lib/php/extensions/no-debug-non-zts-20180731/swoole.so: cannot open shared object file: No such file or directory), /lnmp/php7/lib/php/extensions/no-debug-non-zts-20180731/swoole.so.so (/lnmp/php7/lib/php/extensions/no-debug-non-zts-20180731/swoole.so.so: cannot open shared object file: No such file or directory)) in
Unknown
on line
0
“`
以上是完整的错误(虽然好像是报了warning警告),并且访问php的时候依旧是Class ‘Swoole\Http\Server’ not found,我也不知道哪个环节出了问题。
首先swoole是成功安装了,我照着官方的指令验证过了
“`php
php –ri swoole
“`
### Swoole版本,PHP版本,以及操作系统版本信息
### 相关代码
swoole是官方最新的版本v4.5.3-alpha
php是7.2.24
操作系统是centOS 8
以下是相关代码(官方例子复制过来的异步http代码)
“`php
$http = new Swoole\Http\Server(“127.0.0.1”, 9501);
$http->on(‘request’, function ($request, $response) {
$response->end(”
Hello Swoole. #”.rand(1000, 9999).”
“);
});
$http->start();
“`
lnmp的搭建是百度上查到的教程,以下是php搭建步骤
“`php
cd /lnmp
wget https://www.php.net/distributions/php-7.3.5.tar.gz
tar xvf php-7.3.5.tar.gz
cd php-7.3.5
./configure –prefix=/lnmp/php7 –enable-fpm –with-mysqli –with-curl –with-pdo_mysql –with-pdo_sqlite –enable-mysqlnd –enable-mbstring –with-gd
make && make install
cp php.ini-development /lnmp/php7/lib/php.ini
cd /lnmp/php7/etc/
#重命名
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
cp /lnmp/php7/sbin/php-fpm /usr/bin/
#修改配置文件php.ini,(/lnmp/php7/lib/php.ini)
cgi.fix_pathinfo=0
php-fpm#开启
killall php-fpm#关闭
“`