我需要安装php5-mysql


Do I need install php5-mysql

我在windows服务器上有一个wordpress站点。我把它移动到ubuntu服务器上,但出现了一个错误"你的PHP安装似乎缺少WordPress所需的MySQL扩展。"

我做了一些研究来修复它,发现"你必须安装php5-mysql包"。为什么?我已经安装了php-mysql包。

重要提示:在同一台服务器上运行另一个wordpress站点是很好的。

重要提示:Nginx - MySql - Php7.0安装在ubuntu服务器上

请帮帮我?

您必须有一种与MySQL对话的方式。只有两种方法

  1. 通过MySQL客户端(即php5-mysql)。这是比较老的做法。PHP没有捆绑MySQL,所以这条路线也需要你安装mysql-client(或者你的发行版使用的任何等同的东西),因为它通过客户端与MySQL通信。
  2. 通过MySQL Native Driver(即php5-mysqlnd)。这种方式是首选的,因为它现在是PHP的核心部分。通过这种方式,PHP直接与MySQL通信,而不需要中介。此外,mysqli的某些部分在安装了
  3. 后工作得更好

听起来像是Ubuntu和PHP7。所以你可能需要输入php7-mysqlnd

Wordpress只检查mysql_*函数的可用性。如果你得到这个错误,它们是不可用的。

如果你真的安装了php-mysql元包(我希望实际上安装了php7.0-mysql),并且你在apache mods_available文件夹中有mysql mod可用,它不是简单地不启用。您需要添加到mods_enabled的链接并重新启动服务器。

顺便说一句,你可以用php_info()检查启用的mod。

我有一种感觉,你的服务器上有2个PHP安装,即php5.6和php7.0。因为有php7.0的存在,你似乎没有使用(基于你描述问题的方式)自定义源。我假设你已经安装了Ubuntu 16.04。

在Ubuntu 16.04服务器上执行以下命令应该可以为您解决此问题:

apt install php7.0-mysql
service php7.0-fpm restart
service nginx restart

但是,如果您确实安装并激活了活动的php5,则应该检查php-fpm池是否使用不同的版本。您可以通过查看file:

来检查。
/etc/php/7.0/fpm/pool.d/www.conf

此外,您可以通过在您的服务器上运行以下命令并与我们分享它们的输出来更新您的问题的更多细节:

lsb_release -a (determines Ubuntu version)
which php (determines which php is loaded in the command line)
service --status-all (shows installed services and their status)

根据您提供的细节,我假设PHP包中有一些混淆,这应该可以帮助您摆脱这个问题。请注意,下面的命令很可能会影响同一服务器上的其他网站,您应该在运行此命令之前了解此命令的作用。从本质上讲,它会删除你现在所有的php包,然后只安装php7.0包。

apt update
apt purge --auto-remove php-common php-fpm php-mysql php7.0-cli php7.0-common php7.0-fpm php7.0-json php7.0-mysql php7.0-opcache  php7.0-readline
apt autoremove -y
apt autoclean -y
apt install php7.0-fpm php7.0-mbstring php7.0-xml php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl