我最近将我的 Ubuntu 版本从 16.04 更新到 18.0.4,PHP 版本升级到 7.2。由于以下错误,我无法登录我的 Wordpress 网站:
您的 php 安装似乎缺少 Wordpress 所需的 mysql 扩展
我尝试过的:
PHP警告:PHP启动:无法加载动态库'mysqli'(试过:/usr/lib/php/20170718/mysqli(/usr/lib/php/20170718/mysqli:无法打开共享对象文件:没有这样的文件或目录), /usr/lib/php/20170718/mysqli.so (/usr/lib/php/20170718/mysqli.so: undefined symbol: mysqlnd_global_stats)) 在 Unknown on line 0
这些实际上在 php.ini 中丢失了。我都加了
extension=/usr/lib/php/20170718/mysqli
and
extension=/usr/lib/php/20170718/mysqlnd.
PHP 警告消失了,但 MySQL 扩展似乎仍然丢失。
php.ini文件位于/etc/php/7.2/cli/php.ini。每次更改后,我都会重新启动 apache。
您还有其他可行的解决方案吗?
1.首先使用此命令检查您的电脑中安装的版本:
php -v
2.例如,如果你像这样运行
7.2
(基于php版本)
sudo apt-get install php7.2-common php7.2-mysql
3.安装MySql后重启apache服务器
sudo service apache2 restart
我在这里添加我的答案 - 尽管情况略有不同。我升级了我的 Debian 安装 - 在此过程中 php 从 php 5 升级到 php 7.0
事实证明,apache2 仍在加载 php5 模块,而不是 php7.0 模块。
我需要运行以下:
sudo a2dismod php5
sudo a2enmod php7.0
sudo systemctl restart apache2
随后,我的网页加载了。
我在使用 cpanel 的共享服务器上使用以下代码解决了我
.htaccess
中的此类错误
# END WordPress
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php71” package as the default “PHP” programming language.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php71 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
上述解决方案的组合帮助了我。
更新后我无法访问我的网站,所以我改变了代码:
sudo a2dismod php*
sudo a2enmod php8.0
sudo systemctl restart apache2
我终于找到了解决问题的办法。
这个特定的项目运行在 PHP 7.0 上,所以我需要切换到旧版本的 PHP 才能处理它。
对于 AWS EC2 ubuntu Nginx 服务器
1.首先使用此命令检查您的电脑中安装的版本:
php -version or which php
2.例如,如果你像这样运行 7.4.33(基于 php 版本)
apt install php7.4-mysql
3.安装MySql后重启apache服务器
sudo systemctl restart apache2
如果您使用的是 Apache Ubuntu, 将您的 PHP 版本更新到 8.1 解决您的问题
sudo apt update && apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update && sudo apt install -y php8.1
php -v
sudo apt-get install -y php8.1-cli php8.1-common php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath
sudo apt-get install -y php8.1-fpm
sudo apt install php libapache2-mod-php php-mysql