【问题标题】:PHP not loading php.iniPHP 没有加载 php.ini
【发布时间】:2014-09-10 20:40:57
【问题描述】:

在 redhat 6.5 环境中运行 PHP/Apache。 PHP 安装遇到一些问题。 PHP 已安装并从源代码编译,我使用以下命令对其进行配置。

'./configure' '--prefix=/u/g/php' '--with-libxml-dir=/u/g/util/libxml2/' '--with-apxs2=/u/g/apache/bin/apxs' '--with-config-file-path=/u/g/php/config' '--enable-mbstring'

这工作我可以运行 php 和 appache。但是,我正在尝试启用一些扩展,并且我配置的 php.ini 文件没有被读取。

在 php_info() 中有

Configuration File (php.ini) Path   /u/g/php/config

但据我了解,它应该包含 /u/g/php/config/php.ini 之类的文件

启动/停止服务..

有什么想法吗?

【问题讨论】:

  • 在开头应该有另一行写着“加载的配置文件”——这就是你所追求的。我的是,“加载的配置文件 => /usr/local/etc/php/5.5/php.ini”
  • PHP正在运行的用户能否读取并列出/u、/u/g、/u/g/php、/u/g/php/config和/u/g/php/配置/php.ini?并不是所有单独的目录都需要为该用户、组或任何人设置其 rx 位。此外,如果 Redhat,SELinux 可能会发挥作用......

标签: php apache


【解决方案1】:

大多数服务器都有不止一个 php.ini 文件。我最好的猜测是你编辑错了。要查看 php 实际使用的是哪一个,请运行以下命令:

<?php
$inipath = php_ini_loaded_file();

if ($inipath) {
    echo 'Loaded php.ini: ' . $inipath;
} else {
    echo 'A php.ini file is not loaded';
}
?>

编辑:如果返回“未加载”,请在 SSH 中尝试:

php --ini

或者在 php 中这样做:

phpinfo();

http://php.net/manual/en/function.php-ini-loaded-file.php

另外,请务必在更改 php.ini 文件后重新启动 apache。

【讨论】:

  • 于是我删除了整个php目录。并重新编译它。不知何故,它神奇地起作用。我一定是以某种方式搞砸了 php 目录..
  • 酷。很高兴我能提供帮助,至少可以帮助缩小范围:)
【解决方案2】:

有时由于 php.ini 文件中的错误,配置文件不会在特定错误行之后加载。在这种情况下,您必须彻底检查 php.ini 文件并修复错误。

或者,您可以为您的 php 版本下载新的 php.ini 文件,并将现有文件替换为新文件。

在新文件中进行更改后,使用 service apache2 restart 重新启动服务器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-12
    • 2016-05-10
    • 2014-06-27
    • 1970-01-01
    • 2012-11-30
    • 2011-08-14
    • 2011-12-06
    • 1970-01-01
    相关资源
    最近更新 更多