Изменение настроек PHP
В ServBay встроена среда PHP с гибкими параметрами конфигурации. В этой статье подробно описано, как изменить настройки PHP в ServBay, включая расположение файлов php.ini
и php-fpm.conf
, а также распространенные параметры настройки. В зависимости от версии PHP, эти файлы находятся в директории /Applications/ServBay/etc/php/<версия>
. Кроме того, конфигурационные файлы загрузки модулей PHP (например, xdebug.ini
) расположены в /Applications/ServBay/etc/php/<версия>/conf.d
.
Важно
Пожалуйста, не редактируйте файлы конфигурации вручную. Все конфигурационные файлы автоматически генерируются ServBay, и любые ручные изменения могут быть перезаписаны. Пожалуйста, используйте интерфейс UI для изменения.
Обзор
В ServBay файлы конфигурации PHP размещены в разных каталогах в зависимости от версии. Например, конфигурационные файлы PHP 8.3 находятся в каталоге /Applications/ServBay/etc/php/8.3
. Ниже приведены подробные местоположения этих файлов:
php.ini
:/Applications/ServBay/etc/php/8.3/php.ini
php-fpm.conf
:/Applications/ServBay/etc/php/8.3/php-fpm.conf
- Конфигурационные файлы загрузки модулей PHP:
/Applications/ServBay/etc/php/8.3/conf.d/
Изменение через UI интерфейс ServBay
ServBay имеет мощный графический интерфейс управления, где пользователи могут изменять различные параметры конфигурации. После сохранения изменения будут автоматически применены в реальном времени, избавляя от необходимости ручного редактирования параметров.
В левой панели навигации откройте Язык
, выберите версию PHP, которую хотите изменить, и в правой части увидите меню редактирования. Типичный интерфейс представлен на изображении ниже.
Интерфейс разделен на 3 отдельных блока, соответствующих настройкам PHP-FPM, PHP, и PHP модулей. Дальше мы подробно остановимся на каждом из них.
PHP FPM
Совет
php-fpm.conf
отвечает за производительность PHP в веб-сервисах, все настройки здесь имеют приоритет (перекрывают) по сравнению с конфигурацией в php.ini
.
Однако, эти настройки не будут влиять на код, работающий в cli.
Начнем с интерфейса настроек PHP FPM. Независимо от того, используете ли вы Caddy или NGINX, PHP в веб-сервисах ServBay работает в режиме FPM. В этом интерфейсе можно настроить количество процессов FPM, ограничение по памяти, уровень сообщений об ошибках и отображение ошибок в браузере.
Например, если вы хотите изменить Memory Limit
в веб-среде с 64M на 1G, просто выберите 1G
из выпадающего меню Memory Limit
и сохраните. Это изменение не повлияет на конфигурацию в php.ini
, и при выполнении PHP из cli, будет использоваться конфигурация из php.ini
.
Если в php.ini
Memory Limit
установлен на 512M
, а в конфигурации PHP FPM
— 128M
, то один и тот же скрипт при выполнении в cli может использовать 512M, а при выполнении в веб-среде — 128M.
php.ini
Совет
Настройки php.ini
являются глобальными и применяются как в cli, так и в веб-середине. Однако, настройки в php.ini
могут быть перекрыты в веб-среде файлами php-fpm.conf
.
Секция конфигурации PHP относится к параметрам в php.ini
— основному файлу конфигурации PHP.
Здесь можно настроить многие опции php.ini
, такие как post_max_size
, влияющий на запросы формы, и upload_max_filesize
, который влияет на размер загружаемых файлов. Также можно настроить функции отключения disable_functions
и disable_classes
.
Важно: поскольку настройки являются глобальными, рекомендуется размещать все проекты веб-сайтов в /Applications/ServBay/www
, чтобы избежать настройки нескольких каталогов при использовании open_basedir
.
Для получения подробной информации о конфигурации смотрите официальную документацию php.ini.
Расширения и модули
ServBay предоставляет множество популярных модулей расширения PHP, таких как xDebug
, OPcache
, Image Magick
, Redis
, MongoDB
, Phalcon
, Swoole
и другие. Полный список модулей представлен в PHP списке модулей.
Включить модуль PHP очень просто: нужно просто нажать на переключатель и сохранить изменения. Для модулей, таких как xDebug, которые имеют дополнительные параметры конфигурации, их также можно легко изменить.
Изменение через ручное редактирование файлов конфигурации
WARNING
Ручное редактирование файлов конфигурации подходит только для временных изменений некоторых параметров.
Мы не рекомендуем изменять конфигурационные файлы PHP вручную, так как все изменения будут перезаписаны ServBay.
Конфигурация php.ini
Файл php.ini
является основным файлом конфигурации PHP и используется для настройки различных параметров времени выполнения PHP.
Общие параметры конфигурации
Вот некоторые распространенные параметры конфигурации php.ini
и способы их изменения:
Изменение ограничения по памяти:
memory_limit = 256M
1Изменение ограничения размера загружаемых файлов:
upload_max_filesize = 50M post_max_size = 50M
1
2Изменение настроек часового пояса:
date.timezone = "Asia/Hong_Kong"
1Включение отображения ошибок:
display_errors = On error_reporting = E_ALL
1
2Изменение максимального времени выполнения:
max_execution_time = 300
1
Конфигурация php-fpm.conf
Файл php-fpm.conf
используется для настройки параметров PHP-FPM (FastCGI Process Manager).
Общие параметры конфигурации
Вот некоторые распространенные параметры конфигурации php-fpm.conf
и способы их изменения:
Изменение настроек пула процессов:
[www] listen = /Applications/ServBay/tmp/php-cgi-8.3.sock listen.backlog = -1 listen.allowed_clients = 127.0.0.1 ;listen.owner = www ;listen.group = www listen.mode = 0666 ;user = www ;group = www pm = dynamic pm.max_children = 10 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 6 pm.max_requests = 1024 pm.process_idle_timeout = 10s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Включение медленных логов:
request_slowlog_timeout = 5s slowlog = /Applications/ServBay/logs/php/8.3/slow.log
1
2Изменение пути к логам ошибок:
error_log = /Applications/ServBay/logs/php/8.3/errors.log
1
Конфигурация загрузки модулей PHP
Файлы конфигурации загрузки модулей PHP находятся в каталоге /Applications/ServBay/etc/php/8.3/conf.d/
. Например, файл xdebug.ini
используется для настройки расширения Xdebug.
Пример xdebug.ini
Вот пример файла xdebug.ini
:
[Xdebug]
; Uncomment the following line to enable XDebug
zend_extension = xdebug.so
xdebug.mode=debug,develop
xdebug.start_with_request=yes
xdebug.client_host=localhost
xdebug.client_port=39083
xdebug.log=/Applications/ServBay/logs/xdebug/8.3/xdebug.log
2
3
4
5
6
7
8
Перезагрузка PHP
После изменения конфигурационных файлов PHP необходимо перезагрузить PHP сервис для применения изменений. Это можно сделать через интерфейс управления ServBay или с помощью командной строки servbayctl
.
Перезагрузка через интерфейс управления ServBay
- Откройте интерфейс управления ServBay.
- Перейдите к
Сервисы
. - Найдите PHP сервис соответствующей версии и нажмите на кнопку
Перезагрузить
.
Перезагрузка через servbayctl
С помощью командной строки servbayctl
легко перезагрузить PHP сервис:
servbayctl restart php 8.3
Заключение
В ServBay файлы конфигурации PHP находятся в директории /Applications/ServBay/etc/php/<версия>
, включая php.ini
и php-fpm.conf
. Файлы конфигурации загрузки модулей PHP находятся в каталоге /Applications/ServBay/etc/php/<версия>/conf.d/
. После изменения этих конфигурационных файлов, обновление может быть выполнено через интерфейс управления ServBay или с помощью командной строки servbayctl
.