我真的坚持这个我已经搜索了几个小时......
我最近在远程 Ubuntu 机器上为我的网站安装了一个 Apache 服务器,我想开始使用 PHP 和 MySQL。 MySQL 已安装并正在运行。 PHP 安装正常,可以正常工作,但我不知道如何启用 MySQL 扩展。我已经完成了 sudo apt-get install php5-mysql
和/或 sudo apt-get install php5-mysqlnd
但这些似乎都没有真正安装任何东西,至少根据我的 Apache 服务器。当我运行 php -m
时,我看到了 mysql、mysqli 和 mysqlnd。我还尝试取消注释用于在 Apache php.ini
文件中加载扩展的行,但没有 mysql.so
或 mysqli.so
或默认扩展目录中存在的任何内容。还有另一个包含这些文件的 PHP 扩展目录,但是当我尝试将我的 Apache 服务器指向该扩展目录时,我收到错误提示:
/usr/local/lib/php/extensions/no-debug-zts-20131226/mysqli.so: undefined symbol: core_globals in Unknown on line 0
到目前为止,我已经尝试了我所看到的一切,但没有任何效果。这个错误是我得到的最接近的错误。感谢您的帮助。
这也是我的 phpinfo()
输出:http://pastebin.com/VM8kyrKV
我在运行 sudo apt-get install php5-mysqlnd
时也得到了这个:
php5_invoke: Enable module mysqlnd for cli SAPI
php5_invoke: Enable module mysqlnd for apache2 SAPI
php5_invoke: Enable module mysql for cli SAPI
php5_invoke: Enable module mysql for apache2 SAPI
php5_invoke: Enable module mysqli for cli SAPI
php5_invoke: Enable module mysqli for apache2 SAPI
php5_invoke: Enable module pdo_mysql for cli SAPI
php5_invoke: Enable module pdo_mysql for apache2 SAPI
这看起来不错,但仍然无法正常工作...除了用于 CLI PHP 的文件外,我在任何地方都找不到任何 mysql 模块文件。
编辑:
长话短说,不要编译你自己的二进制文件...我重新开始只使用 apt-get
来安装东西,一切正常。
最佳答案
I've already done sudo apt-get install php5-mysql and/or sudo apt-get install php5-mysqlnd but neither of those seemed to actually install anything, at least according to my Apache server.
phpinfo()
的输出显示 mysql 和 mysqlnd 模块都处于事件状态。这表明安装成功,您只需要取消注释即可加载 mysqli.so。确保您正在编辑 Apache 实例的文件(/etc/php5/apache2/php.ini
如果我没记错的话)而不是 CLI 实例。当然,不要忘记在任何更改后重新启动服务!
关于php - 使用 Apache 2 和 PHP 5.5 安装 MySQLi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27894905/