man*_*nix 6 mysql php logging php5
最近我发现我的服务器Centos 2.6 版中没有安装 mysqli 扩展。我确认这是因为我将数据库连接的驱动程序从 更改mysqli
为mysql
并且现在工作正常。那么,是否有另一种方法/日志来确定这个问题?因为 apache error_log 没有说明任何事情。
这确实不是问题,但将来可能会更复杂。为什么?因为使用 mysqli 驱动程序,网站死了,空白页没有错误/警告来帮助我排除故障。我不喜欢发现魔术艺术或每行测试线的问题的想法。应该是一些帮助我调试它的日志文件。
为了提供信息来帮助解决这个问题,我做了:
cat /proc/version
Linux version 2.6.18-308.el5.028stab099.3 (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46))
Run Code Online (Sandbox Code Playgroud)
您可以mysqli
通过列出已安装的模块来确认是否已安装。SSH 进入您的 Cent OS 机器,并发出以下命令。
php -m | grep mysqli
Run Code Online (Sandbox Code Playgroud)
如果什么都没有返回,那么你没有mysqli.so
加载。检查您的系统上是否安装了共享对象。
# Located extension dir
php -i | grep extension_dir
# List mysql.so in the path returned from the previous command
ls -la /usr/lib/php/extensions/no-debug-non-zts-20090626/mysqli.so
Run Code Online (Sandbox Code Playgroud)
如果 mysqli.so 存在并且具有权限-rwxr-x-rx
,则需要在系统全局php.ini
文件中加载/启用 mysqli 扩展。
# Adjust path to correct php.ini file.
# Run `php -i | grep "Configuration File"` to locate, if needed
# It might be easier to use vi, or nano, for this
sudo echo "extension=mysqli.so" >> /etc/php5/php.ini
# Restart apache
sudo service httpd restart
Run Code Online (Sandbox Code Playgroud)
别的。如果您mysqli.so
的系统中没有。您可以按照您的系统包管理器安装 rpm,并重复前面的 php.ini 步骤。
sudo yum install php5-mysqli
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
31902 次 |
最近记录: |