Почему я не могу изменить php.ini?

Вопрос или проблема

Я разместил сайт на WordPress на Ubuntu 20.04 с помощью LAMP. Теперь, когда я пытаюсь установить тему, появляется ошибка: “Загруженный файл превышает директиву upload_max_filesize в php.ini.” Я не могу это исправить, изменив upload_max_filesize в /etc/php/7.4/cli/php.ini.

Как видно на изображении ниже, рядом с именем файла php.ini написано “Только для чтения”.

Теперь как я могу отредактировать этот файл?

Вам нужно редактировать этот файл от имени пользователя root.
Из терминала:

sudoedit /etc/php/7.4/cli/php.ini

Если вы не загружаете файлы через интерфейс командной строки (CLI), это может быть не тот файл, который вам нужен. Apache использует файл php.ini, который находится в /etc/php/7.4/apache2.

  1. SSH на ваш сервер (если вы еще не подключены)

  2. Отредактируйте файл с помощью вашего предпочтительного текстового редактора и sudo:

    sudo vi /etc/php/7.4/apache2/php.ini
    

    Если вы решите использовать vi, как в приведенном выше примере, вы можете:

    1. быстро найти значение конфигурации, напечатав ?, а затем имя значения: upload_max_filesize
    2. Переключиться в “режим редактирования” в vi, нажав I
    3. Изменить значение на что-то более подходящее, например 128M
  3. Сохраните файл

    Если вы используете vi, вы можете:

    1. Выйти из “режима редактирования”, нажав Esc
    2. Ввести команду для W написания файла и Q выхода из редактора: :WQ
  4. Перезапустите веб-сервер:

    sudo service apache2 restart
    

Вот и всё 👍🏻

Ответ или решение

Существует несколько причин, по которым вы не можете изменить файл php.ini, что вызывает ошибку "Загружаемый файл превышает директиву upload_max_filesize в php.ini", при попытке загрузки темы на ваш сайт WordPress. Давайте разберемся с этой проблемой и предложим решение.

Причина проблемы

  1. Неправильный файл php.ini: Ваша проблема связана с тем, что вы редактировали файл php.ini, находящийся в каталоге CLI (/etc/php/7.4/cli/php.ini), который используется для командной строки. Однако, веб-сервер Apache использует другой файл конфигурации php.ini, который находится в /etc/php/7.4/apache2/php.ini.

  2. Права доступа: На изображении указано, что файл имеет статус "Только для чтения". Это может быть связано с недостаточными правами пользователя для редактирования данного файла.

Решение

Чтобы успешно изменить значение upload_max_filesize, выполните следующие шаги:

  1. Подключитесь к вашему серверу по SSH, если вы еще не сделали этого.

  2. Редактируйте файл php.ini для Apache. Для этого откройте терминал и выполните следующую команду с правами суперпользователя:

    sudo nano /etc/php/7.4/apache2/php.ini

    или, если вам комфортнее использовать другой текстовый редактор:

    sudo vi /etc/php/7.4/apache2/php.ini
  3. Найдите параметр upload_max_filesize:

    • В редакторе nano вы можете использовать комбинацию клавиш Ctrl + W, затем ввести upload_max_filesize и нажать Enter.
    • В редакторе vi для поиска вам нужно ввести ?upload_max_filesize и нажать Enter.
  4. Измените значение. Например, чтобы увеличить лимит загрузки до 128 Мб, найдите строку, которая выглядит как upload_max_filesize = 2M, и измените её на:

    upload_max_filesize = 128M
  5. Сохраните изменения:

    • В nano используйте Ctrl + O, затем Enter для сохранения, и Ctrl + X для выхода из редактора.
    • В vi выйдите из режима редактирования, нажав Esc, и введите команду :wq, затем нажмите Enter.
  6. Перезапустите веб-сервер, чтобы изменения вступили в силу:

    sudo service apache2 restart

Заключение

Теперь вы успешно изменили параметр upload_max_filesize в правильном файле php.ini, и проблема с загрузкой тем должна быть решена. Если ошибка все еще возникает, проверьте другие параметры, связанные с загрузкой файлов, такие как post_max_size, так как они также могут влиять на процесс загрузки.

Оцените материал
Добавить комментарий

Капча загружается...