切换到Apache2的配置文档里:
cd /etc/apache2/mods-available/
找到对应的PHP配置的文档我的是php7.0版本所以对应php7.0.conf:
vi php7.0.conf
文件基本如下,我们要做的是改掉第一行的正则表达式,在p的前面加一个?就能解决问题了:
<FilesMatch ".+\.ph(p[3457]?|t|tml)$"> // 改成".+\.p?h(p[3457]?|t|tml)$"
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch ".+\.phps$">
SetHandler application/x-httpd-php-source
# Deny access to raw php sources by default
# To re-enable it's recommended to enable access to the files
# only in specific virtual host or directory
Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^\.ph(p[3457]?|t|tml|ps)$">
Require all denied
</FilesMatch>
# Running PHP scripts in user directories is disabled by default
#
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
改后重启apache2:
service apache2 restart
然后重进服务器就能解析html中的php代码啦。