我在windows服务器上有一个wordpress站点。我把它移到了ubuntu服务器上,但出现了一个错误:“您的PHP安装似乎缺少WordPress所需的MySQL扩展。”
我做了一些研究来修复它,并创建了“你必须安装php5-mysql包”。为什么?我已经安装了php-mysql包。
重要提示:在同一台服务器上运行另一个wordpress站点是很好的。
重要提示: Nginx - MySql - Php7.0安装在ubuntu服务器上
请帮帮我?
发布于 2016-09-23 20:59:47
你得有办法和MySQL说话。只有两种方法可以做到这一点
通过MySQL客户端(即php5-mysql
)执行
mysql-client
(或者你的发行版使用的任何等效的东西),因为它通过client.php5-mysqlnd
)与MySQL通信。这种方式是首选的,因为它现在是PHP的核心部分。通过这种方式,PHP无需中介即可直接与MySQL进行通信。此外,在此已安装的中,mysqli
的某些部分可以更好地工作
听起来像是Ubuntu和PHP7。所以你可能需要像php7-mysqlnd
这样的东西
发布于 2016-09-23 21:17:17
Wordpress只检查mysql_*
函数的可用性。如果您收到此错误,则它们不可用。
如果你真的安装了apache (我希望它实际上安装了php7.0-mysql
),并且你在php-mysql
mods_available
文件夹中有可用的mysql
mod,那么它并不是简单地没有启用。您需要添加一个指向mods_enabled
的链接并重新启动服务器。
顺便说一句,你可以用php_info()
检查启用的mods。
希望这能有所帮助。
发布于 2016-09-23 22:36:15
我有一种感觉,您的服务器上安装了两个PHP,即php5.6和php7.0。由于存在php7.0,并且您似乎没有使用(基于您描述问题的方式)自定义source.list来实现这一点,因此我假设您已经安装了Ubuntu16.04。
Ubuntu 16.04服务器上的以下命令应该可以为您解决此问题:
apt install php7.0-mysql
service php7.0-fpm restart
service nginx restart
然而,如果你确实安装并激活了active 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
https://stackoverflow.com/questions/39661155
复制相似问题