协慌网

登录 贡献 社区

伙计,我的 php.ini 在哪里? (服务器配置)

几年前,我在我维护的 Linux 服务器上安装了 Apache 2.2x 和 PHP 5.3.1。我使用. tar.gz 并按照指示构建它们(而不是 rpms 和 what-have-you)。一切都很好。

今天我需要安装这个看起来像 PHP 库的东西。我完成了所有步骤以进行安装,并在$PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so ibm_db2.so 中找到$PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so

最好的方法是配置 php.ini,但我的系统上没有 php.ini。恐怖的恐怖。 PHP 工作正常,当然除了我想要使用的这个新奇的 ibm_db2 thingamagic,所以有人可以使用 GUI 来修补DB2 。 (我尝试了一个小的 php 脚本失败并指示 ibm_db2 函数不可用)。

我必须每隔几年处理一次 PHP,所以请在非常基础的层面上启发我,了解如何启用基于 Web 的 GUI 访问DB2

答案

在命令行上执行:

php --ini

你会得到类似的东西:

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_sqlite.ini,
/etc/php5/cli/conf.d/sqlite.ini,
/etc/php5/cli/conf.d/sqlite3.ini,
/etc/php5/cli/conf.d/xdebug.ini,
/etc/php5/cli/conf.d/xsl.ini

那是我当地的开发机器。然而,第二行是有趣的。如果没有提到,请看第一个。那是 PHP 寻找php.ini的路径。

您可以使用脚本中的phpinfo()来 grep 相同的信息,并使用浏览器调用它。它在输出的第一个块中提到。 php -i对命令行做了同样的事情,但它非常不舒服。

找到这个的最佳方法是:创建一个 php 文件并添加以下代码:

<?php phpinfo(); ?>

并在浏览器中打开它,它将显示实际正在读取的文件!

OP 的更新:

  1. 以前接受的答案对您来说可能更快,更方便,但并不总是正确的。请参阅有关该答案的评论。
  2. 还请注意更方便的替代<?php echo php_ini_loaded_file(); ?>这个答案中提到。

这对我有用:

php -i | grep 'php.ini'

你应该看到类似的东西:

Loaded Configuration File => /usr/local/lib/php.ini

ps 只获取 php.inin 路径

php -i | grep /.+/php.ini -oE