我在 centos 7 上,并且httpd
从 yum 安装服务(2.4.6)没有任何问题,我必须从不同的 repo 安装 PHPremi
才能安装 php 5.6。
PHP 在命令行上运行,并且 httpd 服务正在运行,但所有 php 均未执行,任何日志中都没有错误,并且下面的 php.conf 存在。
AddHandler php5-script .php
AddType text/html .php
<IfModule mod_php5.c>
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
</IfModule>
我已经花了好几个小时来思考这个问题,但似乎就是找不到 apache 和 php 之间的脱节在哪里,非常感谢您的帮助。
答案1
看来你的php module
Apache 无法正常工作。它可能没有正确安装或配置。
要查看所有可用模块,您可以运行:
apachectl -M
您可以通过在 httpd.conf 或 vhost 配置文件中添加以下行来启用该模块:
LoadModule php5_module modules/libphp5.so
答案2
每次我遇到这个问题,都是因为我做了类似的事情:
# yum install httpd php-mysql
# yum install php-fpm
# systemctl start httpd
最后我记得这不是一个依赖项并让它工作:
# yum install php
# apachectl -M | grep -i php
php5_module (shared)
# systemctl enable httpd
# systemctl restart httpd
此时我可以在 httpd 中使用 php,无需外部 repos 或“rpm -qa”中列出的 mod_php 包
答案3
我发现我的问题是安装 PHP 和 httpd 后 mod_php 没有默认安装,现在它可以使用此命令:
yum install mod_php
systemctl restart httpd