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

时间:2011-12-30 22:20:06

标签: php linux php-ini

几年前,我在我维护的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.ini,但我的系统上没有php.ini。恐怖的恐怖。 PHP工作正常,当然除了我想要使用的这个新奇的ibm_db2 thingamagic,所以有人可以使用GUI修改DB2。 (我尝试了一个失败的小php脚本,并指出ibm_db2函数不可用)。

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

14 个答案:

答案 0 :(得分:758)

在命令行执行:

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对命令行也是如此,但它非常不舒服。

答案 1 :(得分:415)

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

<?php phpinfo(); ?>

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

OP的更新:

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

答案 2 :(得分:112)

这对我有用:

php -i | grep 'php.ini'

您应该看到类似的内容:

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

P.S。 仅获取php.ini路径

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

答案 3 :(得分:62)

在命令窗口中输入

php --ini

它会显示类似

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

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

echo phpinfo();

答案 4 :(得分:32)

此命令可以帮助您找到它

php -r "phpinfo();" | grep php.ini

答案 5 :(得分:29)

使用以下命令在linux中查找php.ini文件路径。

[root@AnyDirectory ~]# locate php.ini
/etc/php.ini
/etc/php.ini.rpmnew
/usr/share/doc/php-common-5.4.45/php.ini-development
/usr/share/doc/php-common-5.4.45/php.ini-production


或者尝试另一种方式

[root@AnyDirectory ~]# php --ini
它显示路径结果

答案 6 :(得分:23)

phpinfo();

会告诉你它的位置,或者从命令行

php -i

答案 7 :(得分:21)

PHP附带两个本机函数来显示加载了哪个配置文件:

根据您的设置, Apache CLI 可能会使用不同的ini文件。以下是两种解决方案:

Apache:

只需在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());'

答案 8 :(得分:7)

在命令行中运行它:

php -r "echo php_ini_loaded_file().PHP_EOL;"

答案 9 :(得分:6)

find / -name php.ini
嘿......它对我有用!

答案 10 :(得分:4)

您可以使用以下内容获取有关配置文件的更多信息:

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

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

答案 11 :(得分:3)

对于SAPI:php-fpm

没有必要创建一个php.info文件(无论如何都不要让它让世界阅读)。在命令行上:

php-fpm -i | more

在其输出的某处,它将显示以下行:

Configuration File (php.ini) Path => /etc

以下是一个更完整的解释: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/

答案 12 :(得分:1)

尝试此解决方案之一

  1. 在您的终端中,输入find / -name "php.ini"

  2. 在终端中输入php -i | grep php.ini。它应该显示     文件路径为Configuration File (php.ini) Path => /etc

  3. 如果您可以访问一个php文件,请在编辑器(记事本)中将其打开 并在<?php之后在下面的代码中插入新行phpinfo(); 会告诉您php.ini的位置
  4. 您还可以交互方式与php对话。只需在其中输入php -a     在终端上输入phpinfo(); php启动后。

答案 13 :(得分:-1)

已经提到了几种有效的方法来查找php.ini文件,但是如果你遇到这个页面是因为你想在bash脚本中用它做一些事情:

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