我正在尝试在http://mydomain.com/blogtest上托管 wordpress 安装,并按照http://wiki.nginx.org/WordPress上的指南进行操作,但是我仍然收到“未指定输入文件”。对于任何请求。
将 Nginx 1.2.1 和 PHP 5.3.6 与 php-fpm 一起使用
这是 Nginx 配置文件:
upstream wptest {
server 127.0.0.1:9000;
}
server {
listen 80;
server_name mydomain.com;
access_log logs/access.log;
error_log logs/error.log;
location /blogtest {
access_log logs/blogtest.access.log;
error_log logs/blogtest.error.log;
root /opt/myblogwp;
index index.php;
try_files $uri $uri/ /blogtest/index.php;
}
location ~ \.php$ {
include /usr/local/nginx/conf/fastcgi_params;
fastcgi_split_path_info ^(/blogtest)(/.*)$;
fastcgi_intercept_errors on;
fastcgi_pass wptest;
}
}
这是我的 fastcgi_params 文件:
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
# Next line added by AdamJT for php-fpm
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#Concrete5 fix by AdamJT
#fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
我还编辑了 /usr/local/php/lib/php.ini 以设置 cgi.fix_pathinfo = 0;