Я работаю на Windows 7 (64-разрядная версия), с PHP 5.4.12 и Nginx 1.5.8.
Я прочитал много руководств по настройке и устранению этой проблемы, которая заключается в том, что при запросе файла PHP с моего локального хоста он загружает его в виде файла вместо отображения страницы PHP. Ниже приведен файл nginx.conf:
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 8081; server_name localhost; access_log C:/nginx/logs/access.log; error_log C:/nginx/logs/error.log; root C:/nginx/html; fastcgi_param REDIRECT_STATUS 200; 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.exe вручную в командной строке. Я также попытался запустить php-cgi.exe вручную сначала в отдельной командной строке, например:
C:\php5.4.12\php-cgi.exe -b 127.0.0.1:9000
Запрошенный php-файл находится внутри C: / nginx / html, и я запрашиваю его как:
http://localhost:8081/info.php
И он загружает его. Содержимое этого файла PHP:
<?php phpinfo(); ?>
Как я могу запустить скрипты PHP в этой среде. У кого-нибудь есть опыт с этим?
Попробуйте изменить default_type application/octet-stream;
to default_type text/html;
Возможно, ваш php-скрипт не устанавливает тип содержимого MIME, и он идет от nginx.
Попробуйте разместить «*» здесь
location ~* \.php$ {
В ваших путях что-то не так, и nginx не знает, что путь, доступный через URL, – это путь, который он должен пройти через «fastcgi_pass». Поэтому он дает файл для загрузки.
Проверьте журнал ошибок:
C:/nginx/logs/error.log;
У вас есть «C: /nginx/html/info.php;»?