首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
swoole安装完之后,运行php-fpm报错
### 问题描述 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 <br /> <b>Warning</b>: 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 <b>Unknown</b> on line <b>0</b><br /> ``` 以上是完整的错误(虽然好像是报了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 <?php $http = new Swoole\Http\Server("127.0.0.1", 9501); $http->on('request', function ($request, $response) { $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>"); }); $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 #关闭 ```
发布于4年前 · 4 次浏览 · 来自
提问
麻烦照顾下我
### 问题描述 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 <br /> <b>Warning</b>: 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 <b>Unknown</b> on line <b>0</b><br /> ``` 以上是完整的错误(虽然好像是报了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 <?php $http = new Swoole\Http\Server("127.0.0.1", 9501); $http->on('request', function ($request, $response) { $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>"); }); $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 #关闭 ```
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2020-07-29
鲁飞
cli下运行。 ```php <?php $http = new \Swoole\Http\Server("127.0.0.1", 9501); $http->on('request', function ($request, $response) { $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>"); }); $http->start(); ```
赞
1
回复
2020-07-29
麻烦照顾下我
回复
鲁飞
cli下可以运行,谢谢!我还得好好习惯一下,我发现我新建一个文件想试试的时候,虽然url是指向我新建的文件,但是请求却自动进入了 $http->on('request', function ($request, $response) { $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>"); }); 而并没有进入到我新建的文件,看来我要学的东西有点多
赞
0
回复
2020-07-29
麻烦照顾下我
回复
鲁飞
我觉得还是没有把根本给治了,因为我后面还安装了redis,并且redis-cli能正常使用,算是成功安装了,我把redis.so写入php.ini文件之后,php-fpm出现了跟swoole一样的错误
赞
0
回复
微信公众号
热门内容
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。