如何知道使用哪个php.ini?

时间:2013-01-28 08:28:24

标签: php php-ini

我在Linux Ubuntu服务器中搜索php.ini文件所在的路径,在执行命令find / -name php.ini时发现了很多php.ini。那么如何从php脚本所在的php脚本网页中确切地知道呢?

7 个答案:

答案 0 :(得分:68)

php --ini

对于网络服务器-SAPI,请使用phpinfo()

以下是一些示例输出:

bash-3.2# php --ini
Configuration File (php.ini) Path: /usr/local/php5/lib
Loaded Configuration File:         /usr/local/php5/lib/php.ini
Scan for additional .ini files in: /usr/local/php5/php.d
Additional .ini files parsed:      /usr/local/php5/php.d/10-extension_dir.ini,
/usr/local/php5/php.d/20-extension-opcache.ini,
/usr/local/php5/php.d/40-openssl.ini,
/usr/local/php5/php.d/50-extension-apcu.ini,
/usr/local/php5/php.d/50-extension-curl.ini,
/usr/local/php5/php.d/50-extension-gmp.ini,
/usr/local/php5/php.d/50-extension-imap.ini,
/usr/local/php5/php.d/50-extension-intl.ini,
/usr/local/php5/php.d/50-extension-mcrypt.ini,
/usr/local/php5/php.d/50-extension-mssql.ini,
/usr/local/php5/php.d/50-extension-pdo_pgsql.ini,
/usr/local/php5/php.d/50-extension-pgsql.ini,
/usr/local/php5/php.d/50-extension-propro.ini,
/usr/local/php5/php.d/50-extension-raphf.ini,
/usr/local/php5/php.d/50-extension-readline.ini,
/usr/local/php5/php.d/50-extension-xdebug.ini,
/usr/local/php5/php.d/50-extension-xsl.ini,
/usr/local/php5/php.d/60-extension-pecl_http.ini,
/usr/local/php5/php.d/99-liip-developer.ini

答案 1 :(得分:48)

您可以使用php_ini_loaded_file()

取自php.net:

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

您可能还想查看php_ini_scanned_files()

另外,您应该注意,如果您从CLI运行PHP脚本,则可能会使用与服务器(即nginx或apache)运行不同的php.ini文件。

其他选择:

  • php -i|grep 'php.ini'
  • 在webroot中创建包含info.php的{​​{1}},然后在浏览器中运行

答案 2 :(得分:10)

请注意,在控制台上使用PHP时为PHP加载的配置与Web进程的配置不同。大多数PHP安装都带有用于apache的php.ini和用于CLI的另一个。

要知道哪个配置文件用于控制台命令,请使用

$ php -i | grep "Configuration File"

要知道哪个配置文件用于Web进程,请按照以下步骤操作

  1. 创建信息文件[最好在根文件夹中]
  2. 此文件的内容应为<?php phpinfo(); ?>
  3. Ctrl+F并搜索“配置文件”

答案 3 :(得分:5)

你必须使用php方法php_ini_loaded_file(仅限于php 5.2.4之后)

  

php_ini_loaded_file - 检索加载的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';
}
?>

来源:php site

答案 4 :(得分:3)

只需输入如下文件:

<?php
phpinfo();
?>

然后寻找

Loaded Configuration File

你会看到php.ini文件的完整路径

答案 5 :(得分:2)

创建一个简单的页面,它将在那里列出!

<?php

phpinfo();

?>

答案 6 :(得分:0)

如前所述,“查找/ -name php.ini”将帮助获取所有php.ini文件。您可能正在编辑的那个可能不是服务器从中绘制命令的那个!我在服务器上找到了3种不同版本的php.ini,然后立即得到了修复。