Как узнать, какой файл php.ini загружается?

Добрый день. <br/> <br/> Я разрабатываю сайт на Laravel с использованием Docker и Sail, установив все согласно документации на WSL с Ubuntu, так как мой компьютер работает на Windows. <br/> Я хочу изменить значение параметра upload_max_filesize в файле php.ini. <br/> <br/> При выполнении команды <b>php -i</b> я получаю следующую информацию: <pre><code>Build System =&gt; Linux
Server API =&gt; Command Line Interface
Virtual Directory Support =&gt; disabled
Configuration File (php.ini) Path =&gt; /etc/php/8.3/cli
Loaded Configuration File =&gt; /etc/php/8.3/cli/php.ini</code></pre> <br/> <br/> Я перехожу в директорию <b>/etc/php/8.3/cli</b>, но значение upload_max_filesize там (2G) отличается от ожидаемого (100M). Не могу понять, откуда взялось значение 100M. <br/> <br/>
  • 2 апреля 2025 г. 18:54
Ответы на вопрос 2
Добрый день!

Когда вы используете Docker и Laravel Sail, конфигурация PHP может отличаться от стандартной установки на хост-системе. Чтобы понять, какой файл php.ini загружается в контексте вашего приложения, вам потребуется рассмотреть несколько моментов:

1. **Версия PHP и окружение:** В вашем выводе команды `php -i` указано, что вы используете CLI-интерфейс PHP. Это означает, что информация относится к командной строке, а не к веб-серверу. Когда вы работаете с Laravel через Sail, веб-сервер в контейнере может использовать другой файл конфигурации.

2. **PHP-FPM:** В большинстве случаев для веб-приложений, таких как Laravel, используется PHP-FPM. Поэтому конфигурация PHP для веб-сервера может отличаться от той, что вы видите в CLI. Чтобы проверить настройки PHP для PHP-FPM, выполните следующее:

   ```bash
   docker-compose exec laravel.test php -i | grep "Loaded Configuration File"
   ```

   Замените `laravel.test` на имя вашего сервиса, если оно отличается. Это покажет вам, какой файл php.ini загружается в веб-сервере.

3. **Изменение upload_max_filesize:** После того как вы найдете нужный файл php.ini, откройте его в текстовом редакторе (например, с помощью `nano` или `vim`) и измените значение `upload_max_filesize` на 100M. Не забудьте перезапустить сервисы после внесения изменений в конфигурацию:

   ```bash
   docker-compose restart
   ```

4. **Проверка изменений:** Чтобы убедиться, что изменения были применены, вы можете снова выполнить команду `php -i` в контейнере с установленным PHP-FPM или создать файл `info.php` в вашем Laravel проекте с содержимым:

   ```php
   <?php phpinfo(); ?>
   ```

   Затем откройте его через браузер, чтобы увидеть текущие настройки PHP.

Это основные шаги, которые вам помогут убедиться в том, какой файл php.ini загружается и почему значение параметра `upload_max_filesize` отличается от ожидаемого. Если у вас есть другие вопросы, не стесняйтесь спрашивать!
У PHP разные файлы настроек для разных сред. Вы поменяли настройки для CLI (консоли), а нужно для FPM (скорее всего). 
Вы вывели вот phpinfo() — там указан файл, из которого берутся эти настройки. Поищите по странице «.ini» и увидите, где менять.
Похожие вопросы