csworkman

个人博客

tp6之no input file specified.

2021-11-19 Mr Chang php

由于 php的进程是由fastcgi开启的 而在fastcgi里面 的fastcgi.conf配置文件里面
有一个参数fastcgi_param PHP_ADMIN_VALUE  他的值是 "open_basedir=$document_root/:tmp/:/proc/"
相当于在 当前项目的根目录下 或者是tmp目录下和proc 目录下是可以授权访问的

但是thinkphp6的入口文件是在public文件夹下面 而设置的根目录就是public 而无法请求上级目录的vendor里面的启动文件导致项目启动不起来 no input file specified.no input file specified.

这个时候就需要我们在配置nginx的时候 修改一下这个参数具体配置参数如下

 location ~ [^/]\.php(/|$)
        {
                #try_files $uri =404;
                fastcgi_pass  unix:/tmp/php-cgi.sock;
                fastcgi_index index.php;
                #设置PATH_INFO
                fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/../:/tmp/:/proc/";
                #引入fastcgi配置
                include fastcgi_params;
                #include fastcgi.conf;
        }

发表评论: