【记录 撸一个博客系统】 08.登陆注册-看看laravel自带的鉴权-No input file specified

报错

在服务器上安装了auth,同步到本地,报错:
No input file specified

百度:

https://www.cnblogs.com/llkbk/p/10007217.html

虚拟机测试nginx 遭遇 Noinput file specified,多方查找终于找到解决办法

1、 php.ini(/etc/php5/cgi/php.ini)的配置中这两项
cgi.fix_pathinfo=1 (这个是自己添加的)
doc_root=

2、nginx配置文件/etc/nginx/sites-available/default中注意以下部分

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
include fastcgi_params;
}

但是我并没有修改配置啊。

再次百度

https://learnku.com/laravel/t/30502
【记录 撸一个博客系统】 08.登陆注册-看看laravel自带的鉴权-No input file specified_第1张图片

在这里插入图片描述
注释就好了

分析下原因

1. open_basedir是干啥的

https://blog.csdn.net/sinat_36001828/article/details/79198043
将用户可操作的文件限制在某目录下;。

; open_basedir, if set, limits all file operations to the defined directory 
; and below. This directive makes most sense if used in a per-directory or 
; per-virtualhost web server configuration file. This directive is 
; *NOT* affected by whether Safe Mode is turned On or Off. 
open_basedir = . 

open_basedir指定的限制实际上是前缀,而不是目录名。
举例来说: 若”open_basedir = /dir/user”, 那么目录 “/dir/user” 和 “/dir/user1″都是可以访问的。所以如果要将访问限制在仅为指定的目录,请用斜线结束路径名。例如设置成:
“open_basedir = /dir/user/”

2. 怎么设置

https://www.cnblogs.com/crxis/p/12720257.html
https://www.cnblogs.com/xiezhi/p/7063896.html

  • php.ini
  • fastcgi.conf
  • 项目目录 ini_set('open_basedir', '指定目录');

好处:安全
坏处:文件IO变慢

3. .user.ini

https://www.php.net/manual/zh/configuration.file.per-user.php

4. 防止下次被修改

chattr +i /网站目录/.user.ini

你可能感兴趣的:(PHP)