PHP, Apache, Fedora · 2 min read · Jan 07, 2026

Использование PHP5-FPM с Apache 2.4 (+ модуль mod_proxy_fcgi) на Fedora 18 - Страница 2

5 Настройка Apache

Чтобы Apache 2.4 работал с PHP-FPM, мы можем использовать директиву ProxyPassMatch в каждом виртуальном хосте, который должен использовать PHP-FPM (см. http://wiki.apache.org/httpd/PHP-FPM).

Возможные конфигурации, например:

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/your/documentroot/$1

Это соответствует (от корня документа) всем путям, которые содержат .php, опционально за которыми следует / и любой продолженный путь.

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/path/to/your/documentroot/$1

Это соответствует (от корня документа) всем путям, которые заканчиваются на .php.

В этом примере я хочу настроить виртуальный хост по умолчанию, который имеет корень документа /var/www/html. Он определен в /etc/httpd/conf/httpd.conf:

vi /etc/httpd/conf/httpd.conf

Добавьте это где-то ближе к концу (перед строкой IncludeOptional conf.d/*.conf):

| [...] ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1 [...] |

Убедитесь, что вы используете правильный корень документа (/var/www/html в этом случае) в директиве ProxyPassMatch.

Если mod_php установлен и включен, нам нужно его отключить. Откройте /etc/httpd/conf.d/php.conf…

vi /etc/httpd/conf.d/php.conf

… и закомментируйте строки AddHandler и AddType:

| # # PHP — это язык сценариев с встраиванием HTML, который пытается упростить разработку динамически генерируемых веб-страниц. # LoadModule php5_module modules/libphp5.so LoadModule php5_module modules/libphp5-zts.so # # Заставьте интерпретатор PHP обрабатывать файлы с расширением .php. # #AddHandler php5-script .php #AddType text/html .php # # Добавьте index.php в список файлов, которые будут обслуживаться как индексы каталогов. # DirectoryIndex index.php # # Раскомментируйте следующую строку, чтобы разрешить PHP красиво выводить файлы .phps # как исходный код PHP: # #AddType application/x-httpd-php-source .phps |

Перезапустите Apache после этого:

systemctl restart httpd.service

Теперь создайте следующий PHP файл в корне документа /var/www/html виртуального хоста Apache по умолчанию:

vi /var/www/html/info.php

| |

Теперь мы вызываем этот файл в браузере (например, http://192.168.0.100/info.php):

Как вы видите, PHP5 работает, и он работает через FPM/FastCGI, как показано в строке Server API. Если вы прокрутите вниз, вы увидите все модули, которые уже включены в PHP5. MySQL не указан, что означает, что у нас еще нет поддержки MySQL в PHP5.

6 Получение поддержки MySQL в PHP5

Чтобы получить поддержку MySQL в PHP, мы можем установить пакет php-mysql. Хорошей идеей будет установить некоторые другие модули PHP5, так как они могут понадобиться для ваших приложений. Вы можете искать доступные модули PHP5 следующим образом:

yum search php

Выберите те, которые вам нужны, и установите их следующим образом:

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy

APC — это бесплатный и открытый кэшировщик опкодов PHP для кэширования и оптимизации промежуточного кода PHP. Он похож на другие кэшировщики опкодов PHP, такие как eAccelerator и Xcache. Настоятельно рекомендуется установить один из них, чтобы ускорить вашу страницу PHP.

APC можно установить следующим образом:

yum install php-pecl-apc

Теперь перезагрузите PHP-FPM:

systemctl reload php-fpm.service

Теперь перезагрузите http://192.168.0.100/info.php в вашем браузере и снова прокрутите вниз до раздела модулей. Теперь вы должны найти много новых модулей, включая модуль MySQL:

7 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.