PHP – это серверный язык сценариев для быстрого построения динамических страниц. PHP используется многими блог-платформами и системами управления контентом (например, WordPress и Drupal). Также PHP является одним из компонентов программных стеков LAMP и LEMP.
Обновление и отладка настроек PHP – обычное дело при построении веб-сайта. Часто на одном сервере существует несколько установок PHP, каждая из которых имеет свой собственный конфигурационный файл.
Данное руководство научит просматривать и обновлять текущие настройки PHP.
Требования
- Сервер Ubuntu 14.04.
- Не-root пользователь с доступом к sudo (подробнее – здесь).
- Базовые навыки редактирования файлов в Linux.
- Предустановленный веб-сервер и PHP (например, стек LAMP).
Примечание: Данное руководство подходит для стеков LAMP и LEMP, WordPress, PHPMyAdmin, Magento, Joomla, Drupal, Mediawiki и ownCloud.
Данное руководство предназначено для Ubuntu 14.04. в других системах содержимое файла php.ini будет таким же, однако его местонахождение может отличаться.
Просмотр конфигураций PHP
Чтобы просмотреть текущие параметры PHP, создайте страницу с функцией phpinfo.
Сначала откройте каталог, в котором хранятся файлы сайта. К примеру, стандартным каталогом Apache на сервере Ubuntu 14.04 является /var/www/html/:
cd /var/www/html
В этом каталоге создайте файл info.php:
sudo nano /var/www/html/info.php
Вставьте в него такой код:
<?php
phpinfo();
?>
Примечание: Иногда файл info.php хранится в каталоге сайта по умолчанию.
После этого посетите страницу info.php в браузере:
http://www.example.com/info.php
На экране появится страница, содержащая подробности окружения PHP, версию ОС, пути и значения параметров конфигурации.
Файл справа от строки Loaded Configuration File – это тот файл, который содержит текущие настройки PHP.
Данная страница отображает текущие параметры веб-сервера. При помощи функции поиска в браузере можно найти параметры post_max_size и upload_max_filesize, которые ограничивают размеры загружаемых файлов.
Важно! Страница info.php содержит конфиденциальные данные (версию ОС, подробности настроек системы, веб-сервера и PHP), при этом она доступна в сети. Это огромный риск для безопасности сервера, потому её нужно удалить сразу после проверки.
Изменение настроек PHP
Некоторым PHP-приложениям необходимо иметь возможность подгружать более объёмные файлы (например, темы и плагины для WordPress). Для этого нужно отредактировать php.ini:
sudo nano /etc/php5/apache2/php.ini
Примечание: В команде указан стандартный путь к файлу Apache в Ubuntu 14.04. В случае необходимости измените его.
За объём подгружаемых файлов отвечают параметры:
post_max_size = 8M
upload_max_filesize = 2M
Измените стандартные значения согласно требованиям вашего приложения. К примеру, чтобы подгружать файлы до 30MB, нужно установить такие значения:
post_max_size = 30M
upload_max_filesize = 30M
Также в файле можно изменить объём памяти, доступный PHP.
memory_limit = 128M
Директива max_execution_time определяет, сколько секунд может длиться процесс PHP:
max_execution_time = 30
Отредактировав файл php.ini, сохраните изменения и закройте текстовый редактор.
Перезапустите веб-сервер, чтобы обновить настройки.
sudo service apache2 restart
Теперь создайте новую страницу info.php, чтобы убедиться, что настройки были приняты программой.
Примечание: Не забудьте удалить страницу после проверки.
Заключение
Многим приложениям на основе PHP не подходят стандартные параметры PHP. С помощью функции phpinfo конфигурации можно отладить согласно требованиям того или иного приложения.