73

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

4

7 回答 7

105
php --ini

对于 webserver-SAPIs 使用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
于 2013-01-28T08:31:15.400 回答
86

您可以使用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 脚本,则可能php.ini会使用与服务器(例如,nginx 或 Apache)运行它不同的文件。

其他选项:

  • php -i|grep 'php.ini'
  • 创建info.php包含<?php phpinfo();在 webroot 中,并在浏览器中运行它
于 2013-01-28T08:32:12.643 回答
11

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

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

php -i | grep "Configuration File"

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

  1. 创建一个信息文件(最好在根文件夹中)
  2. 这个文件的内容应该是<?php phpinfo(); ?>
  3. Ctrl+F并搜索“配置文件”
于 2016-03-31T09:34:09.427 回答
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网站

于 2013-01-28T08:30:40.340 回答
4

只需添加这样的文件:

<?php
    phpinfo();
?>

然后寻找

Loaded Configuration File

您将看到php.ini文件的完整路径。

于 2013-01-28T08:30:58.717 回答
3

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

<?php

phpinfo();

?>
于 2013-01-28T08:30:50.173 回答
0

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

于 2019-06-30T06:50:28.107 回答