WSL Ubuntu配置phpMyAdmin、MySQL和Apache2后访问localhost/phpmyadmin输出PHP代码问题求助
嘿,我之前在WSL Ubuntu里搭这套环境的时候也碰到过一模一样的问题!浏览器直接把PHP代码原封不动输出,核心原因就是Apache2没有正确配置PHP解析模块,压根不知道该怎么处理这些PHP文件,只能当纯文本扔给你。咱们一步步来排查解决:
第一步:检查并安装Apache的PHP解析模块
这是最常见的原因——你可能装了Apache和PHP,但没装让它们俩配合的模块。打开WSL终端,先跑这个命令确认模块是否已安装:
sudo apt list --installed | grep libapache2-mod-php
如果终端没输出任何结果,说明模块没装。这时候得装对应你PHP版本的模块,先跑php -v看看你用的是PHP8.1还是8.2之类的,比如是PHP8.2的话,就执行:
sudo apt install libapache2-mod-php8.2
第二步:启用PHP模块并重启Apache
装完模块后,得让Apache知道要用上它。还是在终端里,执行启用命令(把<版本号>换成你自己的,比如8.2):
sudo a2enmod php<版本号>
比如:
sudo a2enmod php8.2
重点! 配置修改后必须重启Apache才能生效:
sudo systemctl restart apache2
第三步:先验证PHP基础解析是否正常
别着急直接去试phpMyAdmin,先整个简单的测试文件确认Apache能解析PHP。在/var/www/html目录下新建一个info.php文件,内容就写:
<?php phpinfo(); ?>
然后访问localhost/info.php,如果能看到满屏的PHP配置信息,说明解析正常了,这时候再去访问localhost/phpmyadmin应该就没问题了。
第四步:如果还是不行,检查phpMyAdmin的Apache配置链接
有时候装完phpMyAdmin,它的配置文件没自动链接到Apache的配置目录里,得手动补一下:
先创建软链接:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
然后启用这个配置:
sudo a2enconf phpmyadmin.conf
最后再重启一次Apache:
sudo systemctl restart apache2
我当时就是漏了第一步装模块,折腾了好半天,按这个流程走应该能解决你的问题。要是还不行,可以告诉我你的PHP和Apache具体版本,咱们再细查!
备注:内容来源于stack exchange,提问作者Dust

