Тестирование и настройка PHP‑FastCGI
4 Тестирование
Создаём небольшой тестовый PHP-файл, например в веб-сайте www.example1.com:
vi /var/www/web1/web/info.php| |
Откройте этот файл в браузере (http://www.example1.com/info.php). Если всё настроено верно, вывод phpinfo() будет похож на изображённый ниже, и в строке Server API вы увидите CGI/FastCGI:

5 Пользовательский php.ini для каждого сайта
Поскольку для каждого сайта используется собственный скрипт-обёртка php-fcgi-starter, можно задавать отдельные файлы php.ini для разных сайтов. В качестве примера скопируем системный php.ini в каталог сайта /var/www/web2/ и назначим владельца:
cp /etc/php.ini /var/www/web2/
chown web2:web2 /var/www/web2/php.ini(Теперь вы можете редактировать /var/www/web2/php.ini по необходимости.)
Откройте скрипт-обёртку для сайта web2:
vi /var/www/php-fcgi-scripts/web2/php-fcgi-starterИ укажите /var/www/web2/ в переменной PHPRC:
| #!/bin/sh PHPRC=/var/www/web2/ export PHPRC export PHP_FCGI_MAX_REQUESTS=5000 export PHP_FCGI_CHILDREN=8 exec /usr/bin/php-cgi |
После внесения изменений перезагрузите Apache:
/etc/init.d/httpd reloadСоздайте phpinfo() для сайта www.example2.com:
vi /var/www/web2/web/info.php| |
Откройте http://www.example2.com/info.php и проверьте строку Loaded Configuration File — она должна указывать на /var/www/web2/php.ini:

6 Изменение отдельных параметров PHP
Вместо передачи целого php.ini можно изменить отдельные параметры, добавив ключ -d к исполняемому php-cgi в скрипте-обёртке (или комбинировать оба подхода). Например, чтобы отключить magic_quotes_gpc для сайта www.example2.com, отредактируйте php-fcgi-starter:
vi /var/www/php-fcgi-scripts/web2/php-fcgi-starter| #!/bin/sh PHPRC=/etc/ export PHPRC export PHP_FCGI_MAX_REQUESTS=5000 export PHP_FCGI_CHILDREN=8 exec /usr/bin/php-cgi -d magic_quotes_gpc=off |
Перезагрузите Apache:
/etc/init.d/httpd reloadЗатем снова откройте info.php в браузере (http://www.example2.com/info.php) и найдите строку magic_quotes_gpc — она должна быть Off:

7 Ссылки
- mod_fcgid: http://fastcgi.coremail.cn/
- Apache: http://httpd.apache.org/
- PHP: http://www.php.net/
- Fedora: http://fedoraproject.org/
Важно: после изменения PHPRC или параметров запуска php-cgi всегда перезагружайте веб‑сервер и проверяйте вывод phpinfo() для подтверждения применённых настроек.
Критерии приёмки
- В phpinfo() в строке Server API показано CGI или FastCGI.
- Loaded Configuration File указывает на ожидаемый php.ini для сайта.
- При изменении отдельных директив через -d соответствующая строка в phpinfo() отражает новое значение.
Когда это не сработает
- Если PHP установлен как модуль Apache (mod_php), php-cgi/PHP-FastCGI не используется и PHPRC игнорируется.
- Неправильные права доступа к php.ini или каталогу (владелец/группа) мешают загрузке файла.
- SELinux или AppArmor могут блокировать доступ — проверьте журналы безопасности.
- Неверный путь в PHPRC или опечатка в скрипте-обёртке.
Альтернативные подходы
- PHP-FPM: современная и гибкая альтернатива для управления пулами процессов PHP.
- mod_php: проще в настройке для однородных систем, но не позволяет выделять настройки под сайт.
- Контейнеризация (Docker): изолированные окружения с собственным php.ini и образами.
Мини‑методология внедрения
- Создайте тестовый info.php и откройте в браузере.
- Установите PHPRC или добавьте -d в php-fcgi-starter для целевого сайта.
- Перезагрузите Apache и проверьте phpinfo() на предмет Loaded Configuration File и нужных директив.
- Протестируйте функциональность сайта и логирование ошибок.
- Зафиксируйте изменения в системе управления конфигурацией (Ansible/Chef/Puppet).
Чек‑лист по ролям
- Системный администратор: создать/изменить php-fcgi-starter, установить права, перезагрузить сервер.
- Разработчик: протестировать поведение приложения при новых настройках, проверить обратную совместимость.
- QA/Тестировщик: проверить ключевые страницы приложения и убедиться в отсутствии ошибок 500/403.
Глоссарий (одной строкой)
- PHPRC — переменная окружения, указывающая каталог с php.ini для запуска php-cgi.
- php-cgi — CGI‑исполняемый файл PHP для запуска в режиме FastCGI/CGI.
- php.ini — основной файл конфигурации PHP.
- FastCGI — протокол для взаимодействия веб‑сервера и внешних приложений (например, php-cgi).
- CGI — общий интерфейс для запуска приложений веб‑сервером.
Краткий итог
Использование PHPRC и опции -d в скриптах php-fcgi-starter даёт гибкую возможность управлять конфигурацией PHP на уровне отдельного сайта. Всегда проверяйте изменения через phpinfo() и держите контроль версий для конфигураций.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента