如何在 redhat 上启用 mysqli 扩展?

如何在 redhat 上启用 mysqli 扩展?

我的 php.ini 说:

解析其他 .ini 文件

    /etc/php53/php.d/curl.ini,   
 /etc/php53/php.d/fileinfo.ini, /etc/php53/php.d/json.ini, /etc/php53/php.d/mysqli.ini,
 /etc/php53/php.d/mysql.ini, /etc/php53/php.d/pdo_mysql.ini, /etc/php53/php.d/phar.ini, 
/etc/php53/php.d/zip.ini

mysqli.ini 已加载..但我仍然得到这个,

PHP 致命错误:未找到类“mysqli”

  • 我尝试启用动态加载并使用初始化 php 脚本dl(“mysqli.so”);
  • 我也尝试重新编译 php 源代码:

    ./configure --with-mysql=/usr/lib64/mysql --with-
    mysqli=/usr/lib64/mysql/mysql_config
    

甚至这都不起作用。有人能帮我解决我的问题吗?

  1. Red Hat Enterprise Linux Server 版本 5(Tikanga)。
  2. x86_64 GNU/Linux。
  3. 无法访问 RHN。

谢谢。

答案1

如果您使用的是 php5.5.x,那么:

$ sudo yum install php55-mysqlnd

或者:

$ yum install php[your version]-mysqli or mysql 

如果您大于 5.3:

$ yum install php[your version]-mysqlnd

答案2

那么... php -i 和 phpinfo() 没有显示这个模块?

检查 /etc/php53/php.d/mysqli.ini 中的 extension="mysqli.so" 查找扩展目录,例如“php -i|grep extension_dir” 检查此模块的扩展路径(例如:ls -lha /usr/lib64/php/modules/mysqli.so) 如果模块存在,请检查此模块所需的所有库(ldd /usr/lib64/php/modules/mysqli.so) 如果模块不存在,请安装它。(我假设您正在自定义编译 php,因此您可以在 php 源代码的 ext/mysqli 中找到此扩展。只需 make && make install 它,否则您会在安装过程中看到一些错误)此外,您可能会在 php -i 的 stdout 中找到一些有关缺失或不兼容模块的有用信息。

相关内容