php.ini 是不存在的加载配置文件(无)

Posted

技术标签:

【中文标题】php.ini 是不存在的加载配置文件(无)【英文标题】:php.ini is nonexistent Loaded Configuration File (none) 【发布时间】:2012-05-29 12:21:08 【问题描述】:

我已经成功编译了php和apache,没有指定php配置文件的目录。我想添加梨功能,但任何地方似乎都没有 php.ini。 在我的 phpinfo 中,它说

配置文件 (php.ini) 路径 /usr/local/apache2/php/lib 已加载的配置文件(无) 扫描此目录以获取其他 .ini 文件(无) 已解析的其他 .ini 文件(无)

我去了 /usr/local/apache2/php/lib 目录,那里确实没有,实际上什么也没有。我还搜索了 php.ini,但没有得到任何结果。我需要更改 php.ini 中的内容,我什至不知道 php 没有它是如何工作的。我只是想知道是否需要使用配置目录重新编译 php,以及如何查找/获取 php.ini 以便我可以修复一些问题。

【问题讨论】:

编译安装php后有没有重启httpd? @MikePurcell 是的,多次。 你能发布你的配置命令吗? 【参考方案1】:

您必须从 PHP 源中复制文件 php.ini-dist。标准方法是将此类文件复制到/usr/local/lib/php.ini

【讨论】:

在哪里可以准确找到 php.ini-dist? @Black 在php_src 中,有php.ini-developmentphp.ini-production 文件。使用其中之一。【参考方案2】:

问题是你编译的 php 没有 --with-config-file-path=PATH 选项。

尝试使用此选项重新配置 php。然后按此顺序再次运行“make clean”、“make”和“make install”。您必须运行“make clean”才能使其工作。

【讨论】:

我也是这么想的,但是 PHP 正在报告一条路径的事实让我相信这可能不是问题。 @MikePurcell 这也是我的想法,这就是为什么在发布我的问题之前我不打算这样做。我想就我是否应该得到更官方的意见。现在正在编译,稍后会报告我的结果。 没用,我在配置中做了同样的事情,什么也没发生。它保持原样。我跑了 make clean 和一切。 重新配置的时候放了什么路径? php的 phpinfo() 路径是否改变了?你试过从svn.php.net/viewvc/php/php-src复制你的版本的php.ini吗? 我完全按照您的描述进行了尝试,但 php -i | grep -i loaded 仍然返回 Loaded Configuration File => (none)【参考方案3】:

首先检查 /etc/php.ini是否存在,如果没有尝试复制它

sudo cp /etc/php.ini.default /etc/php.ini

php -i | grep 'Configuration File'再次检查,如果仍然没有尝试

sudo cp /etc/php.ini.default /usr/local/lib/php.ini

然后重新加载网络服务器并尝试查看结果

php --ini

【讨论】:

【参考方案4】:

ini 文件必须以 .ini 而不是 php.ini-dist 结尾。删除-dist,因为它看起来像一个记事本文件(在 Windows 中)并且系统无法读取。 重新启动 Apache 并检查 phpinfo() 输出。

【讨论】:

以上是关于php.ini 是不存在的加载配置文件(无)的主要内容,如果未能解决你的问题,请参考以下文章

“phpinfo()”中显示的加载配置文件与使用命令“php --ini”显示的其他配置文件有啥区别

加载PHP的配置扩展文件

加载PHP的配置扩展文件

linux 配置php.ini不生效

php.ini 配置

如何强制重新加载 php.ini 文件?