Изменение значений в `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 ответа
Чтобы устранить проблему, я бы предпринял следующие шаги:
- Проверьте свои
php.ini
путь, чтобы проверить, если вы редактируете правильный
Чтобы найти свой php.ini
создайте файл с именем info.php
или любое другое имя в вашем корне и добавьте следующее:
<?php phpinfo();
Теперь перейдите в ваш браузер и посетите: http: ///test.php. На полученной странице выполните поиск:
Configuration File (php.ini) Path
Это покажет вам ваш php.ini
место нахождения
Проверьте, не перезаписывает ли ваш скрипт PHP ваши настройки, используя
ini_set()
Проверьте, не перезаписаны ли ваши настройки в вашем
pool.d
Конфигурационный файл fpm.В большинстве конфигураций он расположен на
/etc/php/*/fpm/pool.d/www.conf
Убедитесь, что вы перезапустите
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
.
Надеюсь, это поможет сэкономить чье-то время.