#php #nginx #alibaba-cloud-ecs #easy-engine
#php #nginx #alibaba-cloud-ecs #простой движок
Вопрос:
Я использую 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
Но даже после этого предел загрузки составляет 100 м, как я вижу на обеих страницах плагинов WordPress, которые я использую, а также с phpinfo()
Я где-то читал, что Nginx необходимо перезапустить, что я и сделал ee site restart example.com
, и перезапуск Nginx и PHP по-прежнему не дали эффекта.
В некоторых статьях предлагалось добавить правило /etc/nginx/nginx.conf
, но, к сожалению, этот путь даже не существует, поэтому я создал этот файл по этому пути и попробовал, но все равно бесполезно.
Комментарии:
1. Вы перезапустили
php-fpm
?2.
ee site restart
Перезапуская как Nginx, так и PHP, я не видел ничего подобногоphp-fpm
, я видел, как это упоминалось на других форумах, но при выполненииphp-fpm
command это ничего не дало.
Ответ №1:
Чтобы устранить вашу проблему, я бы предпринял следующие шаги:
- Проверьте свой
php.ini
путь, чтобы проверить, правильно ли вы редактируете
Чтобы найти ваш php.ini
, создайте файл с именем info.php
или любым другим именем в вашем webroot и добавьте следующее:
<?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 перезапуск sudo /etc/init.d / nginx
Комментарии:
1. 1. Адрес загруженного файла конфигурации есть
/usr/local/etc/php/php.ini
, но этот путь отсутствует в моей структуре каталогов, однакоetc/php/7.2/php.ini
это единственныйini
файл 2. Нигде неini_set()
используется. 3. Где находится этотpool.d
файл? 4. Запускphp-fpm
на моем SSH ничего не приносит. Я перезапустил сам PHP.2. @DeepakKamat Извините за задержку ответа. Я отредактировал свой ответ.
3. Возможно, вам потребуется включить версию php для перезапуска службы php-fpm, например
sudo /etc/init.d/php7.4-fpm
Ответ №2:
Я также столкнулся с такой проблемой. Я редактировал неправильный файл, расположенный в /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, чтобы запустить службу в обычном режиме.