【问题标题】:How to enable PHP in Apache on Linux Fedora?如何在 Linux Fedora 上的 Apache 中启用 PHP?
【发布时间】:2013-02-02 08:34:41
【问题描述】:

标题几乎概括了它。我正在运行 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

【问题讨论】:

    标签: php linux apache fedora


    【解决方案1】:

    自从这个原始问题及其答案出现以来,已经发生了很大变化。从 Fedora 32 和 Apache (httpd) 2.4.46 开始,

    mod_php 已弃用,因为 FPM 现在默认使用 httpd in 事件模式。 mod_php 仅在显式启用或 httpd 时使用 切换到 prefork 模式

    ([原文如此]来自/etc/httpd/conf.d/php.conf

    也就是说,mod_php 不再启用;如果你想在 Fedora 下使用 Apache 的 PHP,请安装 php-fpm,它默认启用为 *.php 文件的处理程序。

    【讨论】:

      【解决方案2】:
      1. yum install php
      2. 重启 apache。
      3. 再试一次。

      PHP 需要自行安装。它不是一个无需先安装 PHP 即可简单启用的 apache 模块。

      【讨论】:

      • Panky - 我确实安装了 PHP,就像我说它只是不工作。我多次重新启动我的机器和服务器,但没有让它工作。
      • Panky - 我尝试删除并重新安装 httpd 和 php。但是,确实会收到“HTTP 错误 500(内部服务器错误):服务器尝试完成请求时遇到了意外情况。”。我已将我的 httpd.conf 文件添加到我的问题中 :)
      【解决方案3】:

      你可能有一些问题,其中之一是你没有为 Apache 定义“.php”索引

      喜欢这个

      <IfModule mime_module>
         AddType text/html .php .phps
      </IfModule>
      

      看这个教程install Apache and php

      install Apache and php

      【讨论】:

      • 感谢 Mohammand,您在 httpd.conf 文件中定义了这个?
      • 请参阅本教程以获取手动配置 Apache for PHP link 我希望能帮助您获得更多帮助我必须查看 Apache conf
      • 我会用我的配置文件更新我的问题。我还重新安装了 httpd 和 php。但是,当我现在转到 localhost 时,我收到此错误“HTTP 错误 500(内部服务器错误):服务器尝试完成请求时遇到了意外情况。”
      • in This conf that You send Apache not config for php 也许它是 Down in Include conf 如果你没有找到 php 的 conf,请查看它们这意味着你必须配置你的 Apache.and “HTTP Error 500 " error is for Wrong Conf code for more Detail 你必须在终端上运行 httpd 并检查日志
      【解决方案4】:

      我通过重新安装 httpd 和 php 解决了这个问题。然后php文件正在执行。

      【讨论】:

      • 多么伟大的使命!不过谢谢,我会试试的。
      • @Sawan Koradia - 我又试了一次。但是这次当我点击 localhost 时,我收到了这个错误:“HTTP 错误 500(内部服务器错误):服务器尝试完成请求时遇到了意外情况。”
      【解决方案5】:

      显然,PHP 是作为一个包安装的,但通过 apache 的一个模块进行解释:即; mod_php。这有点猜想,我只是发现了一种嵌入 HTML 的方法。

      【讨论】:

        猜你喜欢
        • 2016-12-30
        • 2012-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-25
        • 1970-01-01
        • 1970-01-01
        • 2018-05-16
        相关资源
        最近更新 更多