首页 > 开发 > linux > 正文

Nginx 提示 no input file specified 。

2017-09-11 20:22:19  来源: 网友分享

因为磁盘位置不够了要做迁移,vhost的配置文件

server {    listen       80;    server_name ***.****.com;    index index.php index.html index.htm;    root  /home/wwwroot/default;        error_page   404   /404.html;    error_page   502 504   /502.html;    include enable-php.conf;    location / {        index index.php index.html ;    }    location /nginx_status    {        stub_status on;        access_log   off;    }    location /status {        stub_status on;        access_log   off;    }    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$    {      #  expires      30d;    }    location ~ .*\.(js|css)?$    {    #    expires      12h;    }    location ~ \.php$ {            #root html;            fastcgi_pass 127.0.0.1:9000;            fastcgi_index index.php;            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;            #fastcgi_param SCRIPT_FILENAME /mnt/wwwroot/default$fastcgi_script_name;            include fastcgi_params;    }    access_log  /home/wwwlogs/access.log  access;}  

其中root /home/wwwroot/default;改成root /mnt/wwwroot/default;提示no input file specified

/mnt/wwwroot/default这个目录肯定是存在的,因为其他的配置server是可以访问的

奇怪的是设置/home/wwwroot/default好使,设置为root /mnt/wwwroot/default;就报错,
这两个文件夹的内容是完全一致的。
求解。


原因

找到问题的原因了,目录下有个.user.ini文件,nginx跨目录用的,直接cp过来,这个文件没改内容还是open_basedir=/home/wwwroot/default:/tmp/:/proc/
改成open_basedir=/mnt/wwwroot/default:/tmp/:/proc/就好使了

解决方案

set $phproot /mnt/wwwroot/default;
fastcgi_param SCRIPT_FILENAME $phproot/$fastcgi_script_name;