ini是什么 - 找php ini




伙计,我的php.ini在哪里? (8)

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

今天我需要安装this看起来像一个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带有两个本地函数来显示哪个配置文件被加载:

根据您的设置, ApacheCLI可能会使用不同的ini文件。 这里有两个解决方案:

阿帕奇:

只需在php文件中添加以下内容并在浏览器中打开它

print php_ini_loaded_file();
print_r(php_ini_scanned_files());

CLI:

复制粘贴到您的终端中:

php -r 'print php_ini_loaded_file(); print_r(php_ini_scanned_files());'

你可以使用类似的东西获得更多关于你的配置文件的信息:

$ -> php -i | ack config # Use fgrep -i if you don't have ack

Configure Command =>  './configure'  ...
Loaded Configuration File => /path/to/php.ini

在命令窗口中输入

php --ini

它会告诉你类似的路径

Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         /usr/local/lib/php.ini

如果上述命令不起作用,请使用此命令

echo phpinfo();

在命令行上执行:

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()phpinfo()相同的信息,并用浏览器调用它。 它在输出的第一部分中提到。 php -i对命令行也是如此,但它很不舒服。


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

<?php phpinfo(); ?>

并在浏览器中打开它,它会显示正在被读取的文件!

OP的更新:

  1. 以前接受的answer可能会更快,更方便,但它并不总是正确的。 查看关于该答案的评论。
  2. 另请注意更方便的替代<?php echo php_ini_loaded_file(); ?> <?php echo php_ini_loaded_file(); ?>这个答案中提到。

有几种有效的方法可以用于查找php.ini文件,但是如果您遇到此页面是因为您想在bash脚本中使用它,请执行以下操作:

path_php_ini="$(php -i | grep 'Configuration File (php.ini) Path' | grep -oP '(?<=\=\>\s).*')" echo ${path_php_ini}


这适用于我:

php -i | grep 'php.ini'

你应该看到像这样的东西:

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

find / -name php.ini

嘿......它对我有用!





php-ini