Я установил nginx, php-fpm и php56 в OS X EL CAPITAN
. Я использовал команду ps
, чтобы проверить, работают ли nginx и fpm или нет.
Я добавил следующий блок кода в блок server
в nginX:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
nginX прослушивает 8080
и fpm на 9000
. Я использовал команду lsof
, чтобы проверить, что:
php-fpm 22903 root 0u IPv4 0x5a9bc9209264e227 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 22904 fc 0u IPv4 0x5a9bc9209264e227 0t0 TCP 127.0.0.1:9000 (LISTEN)
nginx 22931 fc 6u IPv4 0x5a9bc9208c304cc7 0t0 TCP *:8080 (LISTEN)
nginx 22932 fc 6u IPv4 0x5a9bc9208c304cc7 0t0 TCP *:8080 (LISTEN)
Есть какие-нибудь сведения о проблеме, почему nginx загружает файлы php, а не интерпретирует их?
EDIT1:
Полная конфигурация nginX:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location ~ \.php$ {
root /usr/local/var/www/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
}
include servers/*;
URL-адрес I получили: http: // localhost: 8080 / info.php
Кто-нибудь знает об этой проблеме? Я безуспешно отвечал на все вопросы в stackoverflow
:
http://serverfault.com/questions/563285/nginx-with-php-fpm-downloading-php-files-rather-than-executing-them-on-mac-os-x?rq=1
http://serverfault.com/questions/412079/nginx-php-fpm-php-file-not-found-cant-figure-out-why?rq=1
Я только что изменил следующую строку:
fastcgi_param SCRIPT_FILENAME $scripts$fastcgi_script_name;
TO:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Теперь это работает.