Изменение значений в `php.ini` не вступает в силу в Nginx

Я использую Easyengine для сайта WordPress, и мне нужно загрузить большой файл на сервер, я знаю, что я могу использовать FTP / SSH для этого, но в долгосрочной перспективе мне нужно это сделать через PHP, и текущая загрузка предел, который я вижу, это 100M при выполнении phpinfo();

Установка использует PHP 7 и PHP INI файл, который я нашел в

etc/php/7.2/php.ini

Я внес изменения в эти части:

upload_max_filesize = 2100M
post_max_size = 2100M

Но даже после этого лимит загрузки составляет 100M, как я вижу на странице плагинов WordPress, которую я использую, а также с phpinfo()

Я где-то читал, что Nginx нужно перезапустить, поэтому я сделал ee site restart example.com и Nginx и PHP были перезапущены до сих пор безрезультатно.

В некоторых статьях предлагалось добавить правило /etc/nginx/nginx.conf но, к сожалению, этот путь даже не существует, поэтому я создал этот файл по этому пути и попробовал, но все еще бесполезно.

3 ответа

Чтобы устранить проблему, я бы предпринял следующие шаги:

  1. Проверьте свои php.ini путь, чтобы проверить, если вы редактируете правильный

Чтобы найти свой php.iniсоздайте файл с именем info.php или любое другое имя в вашем корне и добавьте следующее:

<?php phpinfo();

Теперь перейдите в ваш браузер и посетите: http: ///test.php. На полученной странице выполните поиск:

Configuration File (php.ini) Path

Это покажет вам ваш php.ini место нахождения

  1. Проверьте, не перезаписывает ли ваш скрипт PHP ваши настройки, используя ini_set()

  2. Проверьте, не перезаписаны ли ваши настройки в вашем pool.d Конфигурационный файл fpm.

    В большинстве конфигураций он расположен на

    /etc/php/*/fpm/pool.d/www.conf

  3. Убедитесь, что вы перезапустите php-fpm а также nginx,

    Сделать так

    sudo /etc/init.d/php-fpm restart sudo /etc/init.d/nginx restart

Я тоже столкнулся с такой проблемой. Я редактировал неправильный файл, расположенный в /etc/php/8.0/cli/php.ini, вместо правильного. Потому что nginx использует версию php-fpm. Итак, правильный файл был /etc/php/8.0/fpm/php.ini .

И не забудьте убить текущий процесс fpm командой sudo pkill php-fpm8.0. затем введите sudo service php8.0-fpm, чтобы запустить службу в обычном режиме.

Правильный синтаксис дляpost_max_size = 30M, но я пишуpost_max_size: 30M. И это стоит мне целого дня.

Кроме того, вphpinfo(), естьAdditional .ini files parsed. Я новичок в PHP, но кажется, что эти файлы перезаписываются.php.iniв том порядке, в котором они перечислены. Поэтому я создаю99-php.iniфайл в том же каталоге, убедившись, что он последний в списке.

А также не забудьте перезагрузитьphp-fpm. В моем случае я использую Ubuntu, поэтому запускаюsudo systemctl restart php8.1-fpm.

Надеюсь, это поможет сэкономить чье-то время.

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