Я ищу путь, где файл php.ini находится на нашем Linux Ubuntu сервере, и я нашел много php.ini при выполнении команды find / -name php.ini
. Итак, как точно знать с веб-страницы PHP скрипт, где находится php.ini?
Как узнать, какой php.ini используется?
Ответ 1
Вы можете использовать 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()
Кроме того, вы должны заметить, что если вы запустите PHP script из CLI, возможно, что будет использован другой файл php.ini
, чем если его запускает сервер (например, nginx или apache).
Другие параметры:
-
php -i|grep 'php.ini'
- создайте
info.php
, который содержит<?php phpinfo();
в webroot, и запустите его в своем браузере
Ответ 2
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
Ответ 3
Обратите внимание, что конфигурация, загружаемая для PHP при его использовании на консоли, отличается от конфигурации для веб-процесса. Большинство установок PHP идут с php.ini для apache и другой для CLI.
Чтобы узнать, какой файл конфигурации используется для команд консоли, используйте
$ php -i | grep "Configuration File"
Чтобы узнать, какой файл конфигурации используется для веб-процессов, выполните следующие действия.
- Создать информационный файл [желательно в корневой папке]
- Содержимое этого файла должно быть
<?php phpinfo();?>
<?php phpinfo();?>
-
Ctrl+F
и поиск "Файл конфигурации"
Ответ 4
Вы должны использовать 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
Ответ 5
просто поместите файл следующим образом:
<?php
phpinfo();
?>
Затем найдите
Loaded Configuration File
вы увидите полный путь для файла php.ini
Ответ 6
Создайте простую страницу, и она будет там указана!
<?php
phpinfo();
?>
Ответ 7
Как уже упоминалось, "find / -name php.ini" поможет получить все файлы php.ini. Возможно, тот, который вы редактируете, может быть не тем, с которого сервер рисует команду! Я нашел php.ini для 3 разных версий php на моем сервере и сразу же получил исправление.