我有一个在 NGINX 上运行的股票 CI 应用程序。没有重写(我尝试了 16 个小时,无法让它工作。它要么是 500、404、403,要么是未指定输入文件),php 文件被传递给 php-fpm。
这是我在可用站点下的默认文件(Ubuntu 12.04,在 CentOS 上尝试了一切,但没有任何效果):
server {
listen 80;
root /usr/share/nginx/www/;
index index.php index.html index.htm;
server_name fish-in-a-bowl.net;
location / {
try_files $uri $uri/ /index.html;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www/cloud;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
并且config.php
:
$config['base_url'] = 'http://fish-in-a-bowl.net/zz/';
$config['index_page'] = 'index.php';
//$config['index_page'] = '';
//$config['uri_protocol'] = 'PATH_INFO';
//$config['uri_protocol'] = 'QUERY_STRING';
//$config['uri_protocol'] = 'REQUEST_URI';
//$config['uri_protocol'] = 'DOCUMENT_URI';
//$config['uri_protocol'] = 'ORIG_PATH_INFO';
$config['uri_protocol'] = 'AUTO';
我已经尝试了所有可用的选项,但没有一个有效。这个节点在 Digital Ocean 上,他们有使用 Apache 而不是 NGINX 设置 CI 的教程。
默认控制器有效,但是当通过http://fish-in-a-bowl.net/zz/index.php/welcome访问时,我得到No input file specified.
帮助?这太奇怪了。
截图 >