Ubuntu20.04切换PHP5.6后Apache下phpMyAdmin报500错误求助
解决PHP5.6切换后phpMyAdmin HTTP 500错误的实操方案
1. 优先查看错误日志定位根源
HTTP 500是泛用错误,直接查日志才能找到具体问题:
- 查看Apache错误日志:
sudo tail -n 20 /var/log/apache2/error.log - 若使用PHP-FPM,查看PHP5.6的FPM日志:
sudo tail -n 20 /var/log/php5.6-fpm.log
日志里会明确提示是语法错误、扩展缺失还是权限问题。
2. 解决phpMyAdmin与PHP5.6的兼容性问题
Ubuntu 20.04默认预装的phpMyAdmin版本不支持PHP5.6(最低要求PHP7.1+),需替换为兼容版本:
- 备份现有phpMyAdmin:
sudo mv /usr/share/phpmyadmin /usr/share/phpmyadmin.bak - 下载最后支持PHP5.6的phpMyAdmin 4.9.x分支:
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.11/phpMyAdmin-4.9.11-all-languages.tar.gz - 解压并迁移到系统目录:
tar xzf phpMyAdmin-4.9.11-all-languages.tar.gz sudo mv phpMyAdmin-4.9.11-all-languages /usr/share/phpmyadmin - 生成配置文件:
sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php - 修复目录权限:
sudo chown -R www-data:www-data /usr/share/phpmyadmin
3. 验证PHP5.6必备扩展是否齐全
phpMyAdmin依赖多个PHP扩展,检查并安装缺失项:
- 查看已安装扩展:
php5.6 -m
确保mysqli、mbstring、json、zip、openssl这些扩展存在。
- 安装缺失的扩展:
sudo apt install php5.6-mysqli php5.6-mbstring php5.6-json php5.6-zip php5.6-openssl - 重启Apache生效:
sudo systemctl restart apache2
4. 确认Apache与phpMyAdmin的配置关联
确保phpMyAdmin的配置被Apache正确加载:
- 启用phpMyAdmin配置:
sudo a2enconf phpmyadmin - 验证PHP5.6模块已启用:
apache2ctl -M | grep php
输出应显示php5.6 (shared),若未显示则重新执行sudo a2enmod php5.6并重启Apache。
5. 修复临时目录权限
phpMyAdmin的tmp目录权限错误会导致500错误:
sudo chown -R www-data:www-data /usr/share/phpmyadmin/tmp sudo chmod 777 /usr/share/phpmyadmin/tmp
内容的提问来源于stack exchange,提问作者atta afridi
相关产品推荐
相关产品推荐

