我需要安装php5-mysql吗?

时间:2016-09-23 12:47:03

标签: php mysql wordpress ubuntu

我在Windows服务器上有一个wordpress网站。我在ubuntu服务器上移动它但是出错了#34;你的PHP安装似乎缺少WordPress所需的MySQL扩展。"

我做了一些研究来修复它并创建了#34;你必须安装php5-mysql pacakage"。为什么?我已经安装了php-mysql包。

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

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

请帮帮我?

3 个答案:

答案 0 :(得分:0)

你必须有办法与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

    这样的东西

答案 1 :(得分:0)

Wordpress仅检查mysql_*功能的可用性。如果您收到此错误,则无法使用。

如果您确实安装了php-mysql元数据包(我希望实际安装php7.0-mysql)并且您在apache mysql文件夹中有mods_available mod,那么它不是根本没有启用。您需要添加指向mods_enabled的链接并重新启动服务器。

顺便说一句,您可以使用php_info()检查启用的模式。

希望这有帮助。

答案 2 :(得分:0)

我有一种感觉,你的服务器上安装了2个PHP,即php5.6和php7.0。由于存在php7.0并且您似乎没有使用(基于您描述问题的方式)自定义source.list来实现这一点我假设您已经安装了Ubuntu 16.04。

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

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

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

/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