centos7.6服务器中搭建lnmp(linux+nginx+mysql+php7)部署thinkphp, 访问时提示:No input file specified.

其原因在于php fastcgi限制nginx访问目录,此时有两种解决方法:

方法一: 修改php.ini配置

  1. 修改php.ini文件open_basedir参数,开放其项目路径

    vim /etc/php.ini
  2. 假如项目存放在/opt/project1, /opt/project2,那么更改open_basedir(如果没有则新增):
    open_basedir = /opt/:/tmp/;
  3. 重启php-fpm
    service php-fpm restart

方法二: 修改fastcgi.conf

  1. 打开fastcgi.conf
    vim /etc/nginx/fastcgi.conf
  2. 设置fastcgi的可操作目录(防止跨站),在最后添加:

    fastcgi_param PHP_VALUE open_basedir=/opt/:/tmp/;
    
  3. 重启nginx
    service nginx restart

再次访问网站则不会再提示No input file specified.

happy coding!