我安装了多个版本的 PHP 5.6、7.2、7.3、7.4 和 8.0,其中 7.4 设置为默认版本。我尝试将一些运行在旧版本的项目切换到其他版本,操作如下:
sudo update-alternatives --set php /usr/bin/php5.6
然后通过执行以下操作重新启动 apache:
sudo service apache2 restart
如果切换到其他版本也会这样
sudo update-alternatives --config php
然后重新启动Apache
但是当我再次打开http://localhost/phpmyadmin
最近正在运行的程序时,它抛出了错误 500,然后检查了错误/var/log/apache2/error.log
并显示:
PHP 消息:PHP 警告:不支持在 /usr/share/php/PhpMyAdmin/MoTranslator/Loader.php 第 23 行声明‘strict_types’\nPHP 消息:PHP 解析错误:语法错误,意外的‘?’在 /usr/share/php/PhpMyAdmin/MoTranslator/Loader.php 第 116 行\n`
并用它创建了一个文件phpinfo
并打印了 PHP 版本,它显示 php 5.6,但在 CLI 中,php -v
它显示 php 7.4,下面是屏幕截图phpinfo()
任何帮助或想法都将不胜感激。
答案1
只需在该文件夹中/usr/share/phpmyadmin
创建.htaccess
包含以下内容的文件即可启用 PHP 7.1 +:
<FilesMatch \.php>
# Apache 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch>
或者更改 PHP 版本/etc/phpmyadmin/apache.conf
您也可以尝试将 phpmyadmin 更新到最新版本(4.9.7 是目前支持 PHP 5.5+ 的最新版本,Ubuntu 4.9.5 目前默认安装旧版本)