Я пытаюсь настроить php-fpm с помощью apache
Мне все еще не хватает части головоломки, потому что страница возвращает 404
The requested URL /php-fpm/index.php was not found on this server.
Apache/2.2.24 (Unix) DAV/2 mod_fastcgi/2.4.6 Server at test.dev Port 80
Насколько я понимаю, путь, указанный в псевдониме, не обязательно должен существовать, но он должен соответствовать следующей директиве ExternalServer. Путь к сокету точно такой же, как был установлен в конфигурации php-fpm. Я использовал команду chmodded -R 777 для каталога var, tmp и каталога сайта. Я видел, что у сокета и fastcgi одни и те же владельцы "_www", это настройки по умолчанию, и не видел необходимости их менять.
php54 --with-php-fpm, mod_fastcgi устанавливаются с Homebrew, но это руководство мне тоже не помогло
Что еще я могу сделать? Любые предложения очень ценятся.
это то, что у меня в httpd
<IfModule mod_fastcgi.c>
# <FilesMatch \.php$>
# SetHandler php-script
# </FilesMatch>
# Action php-script /php.external
# Alias /php.external /var/run/mod_fastcgi/php.fpm
AddHandler php-fastcgi .php
Action php-fastcgi /php-fpm
Alias /php-fpm /var/run/mod_fastcgi/php.fpm
FastCGIExternalServer /var/run/mod_fastcgi/php.fpm -socket /tmp/php-fpm.sock -idle-timeout 900 -pass-header Authorization
AddType application/x-httpd-fastphp5 .php
DirectoryIndex index.php index.shtml index.cgi index.html index.htm
Options +Indexes +FollowSymLinks +ExecCGI +Includes +MultiViews
<Directory "/var/run/mod_fastcgi/">
Order deny,allow
Deny from all
<Files "php.fpm">
Order allow,deny
Allow from all
</Files>
</Directory>
</IfModule>
<VirtualHost *>
DocumentRoot "/Users/redres/Webdev/testsite/public"
ServerName test.dev
ServerAlias www.test.dev
<Location /php-fpm>
Order Deny,Allow
Deny from all
Allow from env=REDIRECT_STATUS
</Location>
Я боролся с Apache 2.2 и PHP-FPM в течение нескольких дней, пока не понял, что это не работает, если FastCgiWrapper
был установлен на Off
. Не уверен, что для вас это имеет значение, но мои проблемы были устранены. Быть в курсе, что любой Скрипты FastCgi, выполняемые Apache, будут не после этого запустить suexec. PHP-FPM в этом не нуждается, но у вас могут быть запущены другие экземпляры FastCgi.