标题几乎总结了它。我正在运行Fedora 18 64位,通过"httpd"安装Apache。我的Apache运行良好,但我的PHP似乎不起作用。我相当确定我确实在我的机器上安装了它(Linux的新手)。
我在/var/www/html/
目录中创建了一个"test.php"文件,其中包含代码:<?php phpinfo(); ?>
但它没有按照应有的方式显示,它只是将文本打印到我的浏览器。
所以我的想法是PHP没有在我的Apache配置或其他东西中设置。有人可以对此有所了解,并就如何使其工作提出一些建议吗?
提前感谢!
编辑,这是我的httpd.config文件:
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "/var/www/html"
<Directory "/var/www">
AllowOverride None
Require all granted
</Directory>
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
<Files ".ht*">
Require all denied
</Files>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>
LogFormat "%h %l %u %t '"%r'" %>s %b '"%{Referer}i'" '"%{User-Agent}i'"" combined
LogFormat "%h %l %u %t '"%r'" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t '"%r'" %>s %b '"%{Referer}i'" '"%{User-Agent}i'" %I %O" combinedio
</IfModule>
CustomLog "logs/access_log" combined
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule mime_module>
TypesConfig /etc/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8
MIMEMagicFile conf/magic
EnableSendfile on
IncludeOptional conf.d/*.conf
你可能有一些问题,其中之一是你没有为Apache定义".php"索引
喜欢这个
<IfModule mime_module>
AddType text/html .php .phps
</IfModule>
请参阅本教程安装 Apache 和 php
并安装 Apache 和 php
-
yum install php
- 重新启动 apache。
- 再试一次。
PHP 需要自己安装。它不是一个无需先安装 PHP 即可简单地启用的 apache 模块。
我通过重新安装httpd和php解决了这个问题。然后 php 文件正在执行。
自从这个原始问题及其答案出现以来,情况发生了很大变化。 从 Fedora 32 和 Apache (httpd) 2.4.46 开始,
mod_php 已被弃用,因为 FPM 现在默认与 httpd 一起使用事件模式。 mod_php仅在显式启用或 httpd 时使用切换到预分叉模式
([原文如此]来自/etc/httpd/conf.d/php.conf
)
换句话说,mod_php不再启用;如果你想在Fedora下使用来自Apache的PHP,安装php-fpm,默认情况下它作为*.php文件的处理程序启用。
显然,PHP 是作为一个软件包安装的,但通过 apache 的模块进行解释:即; mod_php。这是一个猜想,我只是发现它是为了嵌入HTML的方法。