问题描述:apache2返回PHP源而不是执行它
答案: 这个问题通常是由于服务器未正确配置导致的。当我们访问一个使用PHP编写的网页时,服务器应该将PHP代码解析并执行,然后将结果返回给客户端浏览器。如果服务器返回的是PHP源代码而不是执行结果,那么很可能是PHP模块未启用或配置错误。
解决这个问题的方法如下:
php -v
来检查PHP是否已正确安装。如果没有安装,可以通过安装适合你操作系统的PHP版本来解决。如果已安装,可以通过编辑Apache配置文件来启用PHP模块。在Ubuntu系统中,配置文件路径为/etc/apache2/apache2.conf
或/etc/apache2/httpd.conf
,在CentOS系统中,路径为/etc/httpd/conf/httpd.conf
。在配置文件中找到类似于LoadModule php7_module modules/libphp7.so
的行,确保该行没有被注释掉(没有以#
开头),如果被注释掉,去掉注释符号并保存文件。然后重启Apache服务器,命令为sudo service apache2 restart
(Ubuntu)或sudo systemctl restart httpd
(CentOS)。<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
确保这些行存在且没有被注释掉。如果被注释掉,去掉注释符号并保存文件。然后重启Apache服务器。
.php
作为PHP文件的扩展名,例如index.php
。如果文件扩展名不正确,服务器将无法正确识别并解析PHP代码。总结: 当Apache2返回PHP源代码而不是执行结果时,可能是由于未正确配置PHP模块、Apache配置文件中的PHP解析器设置错误、文件扩展名不正确、文件权限设置错误或PHP代码本身存在错误等原因导致。通过检查和修复这些问题,可以解决这个问题。
领取专属 10元无门槛券
手把手带您无忧上云