我在数字海洋有服务器,并试图运行一个自定义的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命令。
我搜索并关注了许多关于同一主题的stackoverflow问题,但都是徒劳的。不过,我还没有尝试过配置选项
./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \我不知道该怎么做,也找不到关于这方面的教程或文章。
我的开发机器两者都有,而服务器却不能。
请指点一下。
发布于 2014-11-09 13:53:07
您可能需要启用mysqlnd扩展。我最近遇到了这个问题(在安装php5-mysqlnd之后,所有的引用mysqli都被破坏了),并通过在我的php.ini底部添加以下行来修复它:
extension=mysqlnd.so您可以在phpinfo()的输出中找到php.ini的位置。
另请注意,您需要重新启动‘ll服务器才能使这些更改生效。
发布于 2014-11-19 09:23:02
我认为,“当前”的做法是在安装PHP模块后启用它,就像使用Apache模块一样:sudo php5enmod mysqlnd
然后重新启动Apache,以便加载该模块:sudo service apache2 restart
这将在/etc/php5/apache2/conf.d/上创建一个来自/etc/php5/mods-available/的符号链接,Apache将获取该符号链接并加载优先级,就像启动时的服务一样。根据我在Ubuntu14LTS上的经验,它从mysqlnd.ini创建了一个名为10-mysqlnd.ini的符号链接。
这里有一个关于这个主题的more detailed explanation的链接。
https://stackoverflow.com/questions/23158943
复制相似问题