【问题标题】:PHP is not run from Apache when php.ini is loaded加载 php.ini 时,不会从 Apache 运行 PHP
【发布时间】:2011-08-01 08:46:08
【问题描述】:

我已经在 CentOS 5.5 中编译安装了 Apache 2.2.19 和 PHP 5.3.6。

我修改了 httpd.conf 以使用 php 处理 .php 文件,通过创建一个包含 <?php phpinfo() ?> 的简单页面,它确实可以正常工作:正确显示了 PHP 配置。

但是我注意到在配置信息中没有加载配置文件(php.ini)。我需要通过修改配置文件中的 include_path 变量来包含 ldap 和其他功能。于是我在php搜索到的位置添加了一个php.ini文件,并修改了里面的include_path变量。

现在真正的问题是:重新启动 httpd 并返回我的简单 php 页面时,我只看到文件的文本内容,即<?php phpinfo() ?>。我看起来好像没有从 httpd 正确调用 php。但是在命令行输入echo "<?php phpinfo() ?>" | php时,我正确获取了PHP配置信息。

这里有什么问题?由于 PHP 配置文件,httpd 怎么不能正确调用 PHP?我应该在哪里查看这个 php.ini?

【问题讨论】:

  • 命令行下的 PHP 和 mod_php 下的 php(假设您不使用 FPM)可以有不同的配置和构建选项。它们是否同时编译并使用相同的选项?
  • 我相信您应该以正常方式包含 php 而无需说明任何关于 php.ini 的内容并编辑安装的 php 使用的 php.ini
  • @James 是的,他们是,只有一个 PHP 安装。
  • @Sherif 我很想这样做,但源包中没有 php.ini。
  • @Sherif 更正,有一些:) 我现在试试这个。

标签: php apache


【解决方案1】:

听起来是 SELinux 问题,结果如何

ls -Z /etc/php.ini

给你这样的东西?

-rw-r--r--  root root system_u:object_r:etc_t          /etc/php.ini

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 2011-12-06
    相关资源
    最近更新 更多