Перейти к содержимому

Где php ini

  • автор:

Где php ini

Файл конфигурации ( php.ini ) считывается при запуске PHP. Для версий серверных модулей PHP это происходит только один раз при запуске веб-сервера. Для CGI и CLI версий это происходит при каждом вызове.

  • По месту расположения модуля SAPI ( PHPIniDir директива Apache 2, -c параметр командной строки CGI и CLI)
  • Переменная среды PHPRC .
  • Местоположение файла php.ini может быть указано для различных версий PHP. Корневой ключ реестра зависит от разрядности операционной системы и установки PHP. Для 32-разрядного PHP на 32-разрядной Windows или 64-разрядного PHP и 64-разрядной Windows используйте [(HKEY_LOCAL_MACHINE\SOFTWARE\PHP] . Для 32-разрядного PHP на 64-разрядной Windows [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP] . Следующие ключи реестра исследуются при поиске для установок с совпадающей разрядностью: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z] , [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] и [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x] , где x, y и z подразумевают major, minor и release версии PHP. Для 32-разрядного PHP на 64-разрядной Windows ключи реестра будут другими: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y.z] , [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y] и [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x] . Если также имеется значение IniFilePath в любом из этих ключей, то местонахождение php.ini будет определено первым ключом по порядку (только для Windows).
  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] или [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP] , значение IniFilePath (только для Windows).
  • Текущая директория (исключая CLI).
  • Директория веб-сервера (для модулей SAPI) или директория PHP (иначе в Windows).
  • В директории Windows ( C:\windows или C:\winnt ) (для Windows) или —with-config-file-path с выбором при компиляции.

Если файл php-SAPI.ini существует (где SAPI — это тип интерфейса, который используется, например, php-cli.ini или php-apache.ini ), то он используется вместо php.ini . Тип интерфейса между веб-сервером и PHP может быть определён с помощью функции php_sapi_name() .

Замечание:

Веб-сервер Apache изменяет текущую директорию на корневую при запуске, в результате чего PHP считывает php.ini из корневой файловой системы, если файл существует.

В php.ini можно использовать переменные окружения, как показано ниже.

Пример #1 Переменные окружения php.ini

; PHP_MEMORY_LIMIT взята из переменных окружения memory_limit = $

Директивы php.ini , обрабатываемые модулями, описаны на соответствующих страницах модулей. Список директив ядра имеется в приложении. Не все директивы PHP документированы в этом руководстве: для ознакомления с полным списком директив доступных в вашей версии PHP, прочитайте комментарии вашего php.ini . Кроме того, вы можете найти полезной » последнюю версию php.ini из Git.

Пример #2 Пример php.ini

; любой текст в строке после точки с запятой (;) без кавычек игнорируется [php] ; маркеры разделов (текст в квадратных скобках) также игнорируется ; Могут быть установлены следующие логические значения: ; true, on, yes ; или false, off, no, none register_globals = off track_errors = yes ; вы можете заключать строки в двойные кавычки include_path = ".:/usr/local/lib/php" ; обратный слеш обрабатывается так же, как любые другие символы include_path = ".;c:\php\lib"

Возможно обращаться к существующим ini-переменным из ini-файлов. Пример: open_basedir = $ «:/new/dir» .

Сканирование директорий

Существует возможность сконфигурировать PHP для сканирования директорий в поисках .ini-файлов после считывания php.ini . Это можно сделать на моменте компиляции, указав опцию —with-config-file-scan-dir. Сканирование директорий может быть переопределено во время исполнения установкой переменной среды PHP_INI_SCAN_DIR .

Можно сканировать несколько директорий, разделяя их разделителем, используемом в вашей операционной системе ( ; в Windows, NetWare и RISC OS; : на всех остальных платформах; в PHP есть константа PATH_SEPARATOR , которую можно использовать) Если PHP_INI_SCAN_DIR пуста, то PHP также будет сканировать директорию, заданную на этапе компиляции с помощью —with-config-file-scan-dir.

В каждой директории PHP сканирует все файлы заканчивающиеся на .ini в алфавитном порядке. Список всех загруженных файлов в том порядке, в котором они были загружены, доступен с помощью функции php_ini_scanned_files() , либо при запуске PHP с опцией —ini.

Допустим, что PHP сконфигурирован с --with-config-file-scan-dir=/etc/php.d, и разделитель путей . $ php PHP загрузит все файлы /etc/php.d/*.ini как конфигурационные. $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d php PHP загрузит все файлы /usr/local/etc/php.d/*.ini как конфигурационные. $ PHP_INI_SCAN_DIR=:/usr/local/etc/php.d php PHP загрузит все файлы /etc/php.d/*.ini, а потом /usr/local/etc/php.d/*.ini как конфигурационные. $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php PHP загрузит все файлы /usr/local/etc/php.d/*.ini, а потом /etc/php.d/*.ini как конфигурационные.

Где я могу найти файл php.ini

Несколько лет назад я установил Apache 2.2x и PHP 5.3.1 на Linux-сервер, который я обслуживаю. Я использовал .tar.gz и собрал их в соответствии с инструкциями (вместо rpms и т . п .). И все было в порядке. Сегодня мне нужно установить нечто, которое кажется библиотекой PHP. Я прошел все шаги до make install и нашел ibm_db2.so в:

$PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so.

Загвоздка в том, что на последнем шаге нужно настроить файл php.ini, но в моей системе нет ни одного файла php.ini. PHP работает нормально, за исключением, конечно, этой новомодной штуки ibm_db2, которую я хочу использовать, чтобы кто-то мог применять GUI для работы с DB2 ( я попробовал небольшой PHP-скрипт, который не работает и показывает, что функции ibm_db2 недоступны). Мне приходится иметь дело с PHP раз в несколько лет, поэтому, пожалуйста, просветите меня на самом базовом уровне о том, что я могу сделать, чтобы обеспечить доступ к DB2 через веб-интерфейс GUI.

Ответ 1

В командной строке выполните:

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

Это с моей локальной dev-машины. Однако вторая строка — самая интересная. Если там ничего не указано, посмотрите на первую. Это путь, по которому PHP ищет файл php.ini.

Вы можете найти ту же информацию с помощью phpinfo() в скрипте и вызвать его через браузер. Он упоминается в первом блоке вывода. php -i делает то же самое для командной строки, но это довольно неудобно.

Ответ 2

  1. php_ini_loaded_file возвращает загруженный .ini файл ;
  2. php_ini_scanned_files возвращает список .ini файлов, разобранных из дополнительной директории ini.

Ответ 3

  1. В терминале введите find / -name «php.ini».
  2. В терминале введите php -i | grep php.ini. Это должно показать путь к файлу как «Configuration File (php.ini) Path => /etc».
  3. Если вы можете получить доступ к одному из ваших PHP файлов, откройте его в редакторе (Блокнот) и вставьте phpinfo(); после
  4. Вы также можете общаться с PHP в интерактивном режиме. Просто наберите php -a в терминале и введите phpinfo(); после запуска интерпретатора PHP.

Ответ 4

Для SAPI: php-fpm

Нет необходимости создавать файл php.info (в любом случа е о ставлять его на всеобщее обозрение — не самая лучшая идея). Выполните в командной строке:

php-fpm -i | more

Где-то в выходных данных будет показана эта строка:

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

Ответ 5

Уже упоминалось несколько действенных способов найти файл php.ini, но , если вы наткнулись на эту страницу, потому что хотите что-то сделать с ним в сценарии Bash:

path_php_ini=»$(php -i | grep ‘Configuration File (php.ini) Path’ | grep -oP ‘(?\s).*’)»

echo $

Ответ 6

Используйте следующую команду, чтобы найти путь к файлу php.ini в Linux :

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

Или попробуйте другой способ:

php —ini

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Как найти файл php.ini на сервере

Рекомендуемый хостинг:

Самый простой способ — выполнить в консоли:

php -i | grep "Loaded Configuration File"

Но в некоторых случаях надежнее разместить в папке сайта файл с именем test.php (или любым другим — значения не имеет) с вот таким содержимым:

и открыв в браузере по адресу имясайта.com/test.php посмотреть значение строки «Loaded Configuration File»

©2023 · CheerApp HTML template by Mateusz Hajdziony

Изменение параметров PHP — директив php.ini

В разделе Параметры модуля PHP панели управления хостингом размещена таблица с изменяемыми параметрами. Установите необходимые значения в соответствии с требованиями скриптов сайта и сохраните изменения.

Ручное редактирование php.ini

Для редактирования файла php.ini необходимо:

  • загрузить на ваш компьютер файл php.ini, соответствующий вашей версии PHP, из директории /etc/php/version, например, с помощью файлового менеджера панели управления ;
  • загрузить отредактированную версию файла php.ini в домашнюю директорию /home/идентификатор;
  • перейти в раздел Управление веб-серверомпанели управления хостингом и выполнить перезапуск сервера, чтобы изменения вступили в силу.

При использовании собственного php.ini настройки PHP из панели управления хостингом работать не будут. Чтобы вернуться к автоматическим настройкам, нужно удалить php.ini из директории/home/идентификатор/ и перезапустить веб-сервер.

Для отдельных сайтов параметры PHP можно задать с помощью файла .htaccess и директив php_flag, php_value в соответствии с документацией PHP.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *