Получение значения веб-файла php.ini из консольного скрипта

Как мы знаем, для веба и консоли используются разные ini-файлы PHP. Например, если я запускаю ini_get('max_execution_time') из консольного скрипта, он вернет 0, потому что консольные скрипты обычно не имеют тайм-аута. Но если я запущу тот же код из Интернета, он вместо этого вернет значение, которое мы установили для нашего веб-сайта.

Я хочу запустить приведенный ниже код из консольного скрипта:

ini_get('max_execution_time')

Однако это вернет мне значение как 0, потому что PHP использует другой файл php.ini для консоли. Что я хочу, так это то, что когда я запускаю приведенный выше код, я хочу, чтобы он возвращал значение, которое будет установлено из php.ini, которое должно быть для веб-консоли НЕ.

Причина, по которой мне нужно значение web php.ini для разных значений, заключается в том, что я создаю консольный скрипт, который будет проверять значения и уведомлять меня по электронной почте, если какой-либо параметр php.ini не подходит для веб-приложения.

К вашему сведению, я использую фреймворк Laravel.

Спасибо за помощь.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
190
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать echo php_ini_loaded_file(); из Интернета, чтобы найти имя INI-файла веб/apache2. В моем случае это /usr/локальные/зенд/и т.д./php.ini.

Затем в вашем приложении CLI вы можете преобразовать ini-файл в массив, который можно использовать для извлечения необходимых данных.

<?php
$config = parse_ini_file('/usr/local/zend/etc/php.ini');

// Ouput of `var_dump($config);`
array (size=118)
  'engine' => string '1' (length=1)
  'short_open_tag' => string '1' (length=1)
  'precision' => string '14' (length=2)
  'output_buffering' => string '4096' (length=4)
  'zlib.output_compression' => string '' (length=0)
  'implicit_flush' => string '' (length=0)
  'unserialize_callback_func' => string '' (length=0)
  'serialize_precision' => string '-1' (length=2)
  'disable_functions' => string '' (length=0)
  'disable_classes' => string '' (length=0)
  'realpath_cache_size' => string '256k' (length=4)
  'zend.enable_gc' => string '1' (length=1)
  'expose_php' => string '1' (length=1)
  'max_execution_time' => string '500' (length=3)
  'max_input_time' => string '60' (length=2)
  'memory_limit' => string '256M' (length=4)
  'error_reporting' => string '32767' (length=5)
  'display_errors' => string '1' (length=1)
  'display_startup_errors' => string '1' (length=1)
  ...

echo $config['max_execution_time']; // 500

Другие вопросы по теме