Сервер работает под управлением CentOs 6.10
Необходимо использовать php5 для некоторых веб-сайтов и php7 для других на том же сервере, поэтому я использовал репозиторий remi и включил необходимые версии php.
Я удалил mod_php и установил php-fpm и mod_fcgid.
В /etc/php-fpm.d/www.conf
, Я добавил:
listen = /var/run/php-fpm/www.sock
listen.group = apache
listen.mode = 0660
Я создал /var/www/cgi-bin/php.fastcgi
со следующим содержанием:
#!/bin/bash
PHPRC="/etc/php.ini"
PHP_FCGI_CHILDREN=4
PHP_FCGI_MAX_REQUESTS=1000
export PHPRC
export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec /usr/bin/php-cgi
Ниже приведен пример vhost для домена:
<VirtualHost *:80>
# Admin email, Server name and Server alias
ServerAdmin test@example.org
ServerName domain.com
# Document Root settings
DirectoryIndex index.php
DocumentRoot /var/www/vhosts/domain.com/httpdocs/
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
# Logging settings
LogLevel warn
ErrorLog /var/www/vhosts/domain.com/log/error.log
CustomLog /var/www/vhosts/domain.com/log/access.log combined
</VirtualHost>
Я в основном следил это руководство но я также пробовал много других вещей из того, что нашел в Интернете, но безрезультатно.
Если я захожу в домен на сервере, я просто получаю внутреннюю ошибку сервера или php не анализируется должным образом и выводится как необработанный текст.
Что мне не хватает в приведенной выше конфигурации?
С помощью php-cgi
устарела и устарела, вместо нее следует использовать службу FPM.
Видеть :
Примечание: PHP-FPM теперь является способом по умолчанию в Fedora и RHEL-8 (и, следовательно, в CentOS 8, когда он будет выпущен)
P.S. HTTP-сервер Apache версии 2.2 в CentOS 6 не поддерживает SetHandler для прокси, но вы можете использовать коллекцию httpd24 из Репозиторий SCL. Я также рекомендую вам перейти на более новую версию CentOS, поскольку 6 очень старая и близка к концу срока службы.