我有数字海洋服务器,并试图运行一个自定义的PHP应用程序。 在我的开发机器上:Mac OSX 10.7.5 PHP:5.3.6用mysql,mysqli,mysqlnd,pdo mysql
但在服务器上:Ubuntu 12.04 PHP:5.3.10
用mysql,mysqli和pdo mysql
我需要mysqlnd来运行我的应用程序。 如果我尝试
apt-get install php5-mysqlnd
它给错误:
The following packages will be REMOVED: php5-mysql The following NEW packages will be installed: php5-mysqlnd
如果我安装它,我的应用程序代码因使用许多mysqli命令而中断。
我search并遵循许多相同的主题stackoverflow的问题,但都是徒劳的。 虽然,我还没有尝试configuration选项
./configure --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \
我不知道如何继续这个,我找不到和教程或文章。
我的开发机器有两个,但服务器不能。
请指导。
您可能需要启用mysqlnd
扩展。 我最近碰到这个问题(安装php5-mysqlnd
后,所有mysqli
引用都被破坏了),并在php.ini的底部加入了以下代码来修复它:
extension=mysqlnd.so
你可以在phpinfo()的输出中找到你的php.ini的位置。
另外请注意,您需要重新启动您的网络服务器才能使这些更改生效。
我相信这样做的“当前”方法是在安装PHP模块后启用该模块,就像使用Apache模块一样: sudo php5enmod mysqlnd
然后重新启动Apache为该模块加载: sudo service apache2 restart
这将在/etc/php5/apache2/conf.d/
上创建一个符号链接,从/etc/php5/mods-available/
,Apache将启动并加载优先级,例如启动期间的服务。 根据我在Ubuntu 14 LTS上的经验,它从mysqlnd.ini创建了一个名为10-mysqlnd.ini的符号链接。
以下是有关该主题的更详细解释的链接。