为什么mysql_connect()无效?

klboy

workerman-chat event.php 为什么mysql_connect()无效?但是在网页目录运行mysql_connect又可以,不是环境问题

3995 1 0
1个回答

walkor 打赏

php是有很多运行模式的,或者说很多sapi。
比如 apache 的mod_php、apache2handler
php-fpm的 fpm
还有isapi 、phttpd、cli等有20多个sapi

每种运行模式的php可执行文件一般都不是相同的

每种运行模式的 php.ini 文件可能都不是相同的。
比如apache可能用的是 /etc/php5/apache2/php.ini
php-fpm可能用的是/etc/php5/fpm/php.ini
而 workerman是以cli模式运行的,用的可能是/etc/php5/cli/php.ini

而安装扩展的时候是需要在php.ini中配置的,所以即使apache配置了php.ini,你代表cli模式下的的workerman就支持了那个扩展,还是需要在cli 的 php.ini配置一下的

现在的问题就是找到cli使用的php.ini
运行如下命令
php --ini
即可找到cli 也就是workerman使用的是那个php.ini文件

最后
如果你的cli是apt-get install 或者 yum install 安装的,那么扩展也可以通过apt-get 或者 yum安装,cli d的php.ini 会自动配置,非常方便。

apt yum可以通过以下命令查找 扩展,例如memcache 扩展
apt: apt-cache search memcache | grep php
yum: yum search memcache | grep php

然后
apt-get install 你搜到的要装的扩展名
yum install 你搜到的要装的扩展名

  • 暂无评论
年代过于久远,无法发表回答
×
🔝