Ubuntu下PhpMyAdmin报500错误:需分离PHP7.0与7.4运行环境
实现PhpMyAdmin与Laravel站点的PHP版本分离(PHP7.4 vs PHP7.0)
问题核心是全局启用的PHP7.0 mod_php模块优先级高于proxy_fcgi,导致PhpMyAdmin的FCGI配置被覆盖,始终用PHP7.0运行。按以下步骤调整:
1. 禁用全局PHP7.0的mod_php
mod_php会直接接管所有.php请求,必须先关掉全局的:
sudo a2dismod php7.0
2. 给每个Laravel站点配置PHP7.0-FPM
打开对应站点的虚拟主机配置文件(比如/etc/apache2/sites-available/laravel-site.conf),在<VirtualHost>块里添加这段配置,指定站点用PHP7.0的FPM:
<FilesMatch \.php$> SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost" </FilesMatch>
保存后启用配置:
sudo a2ensite laravel-site.conf
3. 修正PhpMyAdmin的FCGI配置
打开/etc/apache2/conf-available/phpmyadmin.conf,把PHP7.4-FPM的配置放到<Directory /usr/share/phpmyadmin>块内,确保只对PhpMyAdmin生效:
<Directory /usr/share/phpmyadmin> # 保留原有配置(如AllowOverride、Require规则等) <IfModule mod_proxy_fcgi.c> SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost" </IfModule> </Directory>
4. 重启服务生效
sudo systemctl restart apache2 sudo systemctl restart php7.0-fpm sudo systemctl restart php7.4-fpm
验证配置
- 打开Laravel站点的phpinfo页面,确认PHP版本为7.0
- 打开PhpMyAdmin的phpinfo页面,确认PHP版本为7.4
内容的提问来源于stack exchange,提问作者Gastón Zampar
相关产品推荐
相关产品推荐

