No input file specified 两台同环境其中一台有问题
2台 X86 CentOS 7.9 都是腾讯云,几乎无任何区别.同样安装 LNMP 1.8 配置一摸一样
同样一个 vue + Laravel 项目,安装部署流程一摸一样,权限也都设置 www:www.
domain.conf 是自己写的,不是 lnmp vhost生成,没有 .user.ini
location / {
indexindex.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
include fastcgi_params;
}
public 内的文件如下
https://i.ioiox.com/2022/05/14/20220514123312kMZSB7.jpg
fastcgi.conf
注释掉
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
并增加
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/";
才能正常访问,但是这样又影响了其他php程序
主要搞不懂的是另外一台服务器完全没任何问题. fastcgi.conf 也有这个
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
现在懵了..不知道到底如何
No input file specified 就是因为防跨目录设置
设置成fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 都影响的
如果想保留防跨目录设置就只能去掉 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 的设置,保留使用.user.ini 但是如果你网站程序存在漏洞被上传webshell之类的话还是可能会被跨目录的
不清楚你具体其他程序目录结构,如果多个都在/home/wwwroot/ 下的话 fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/"; 是可以的,但是这样一样其他网站目录只要有一个被拿下其他也不会幸免。
页:
[1]