nginx php-fpm 出现 No input file specified 的解决方法

发布于 2020-04-16

nginx php-fpm 出现 No input file specified 的解决方法

安装 php-fpm 后,浏览器访问 php 时可能会报 No input file specified. 错误,意思是说找不到相应的 PHP 文件。这个是 PHP 常见的错误之一,主要原因是找不到工作目录所导致的,需要编辑 php.ini 文件,在 open_basedir 参数中加入 nginx 的 root 目录。

 

解决方法

查看 nginx 日志,错误提示:failed to open stream: Operation not permitted,意思是权限不足。

2020/03/23 22:39:12 [error] 885#0: *80 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: open_basedir restriction in effect. File(/Users/pieruo/www/version.php) is not within the allowed path(s): (/Users/pieruo/Documents/www/:/usr/local/var/www/:/tmp/:/proc/) in Unknown on line 0PHP message: PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0Unable to open primary script: /Users/pieruo/www/version.php (Operation not permitted)" while reading response header from upstream, client: 127.0.0.1, server: 127.0.0.1, request: "GET /version.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"

解决方法:编辑 php.ini 文件,在 open_basedir 参数中添加 PHP 的工作目录,本例以 /Users/pieruo/www 为例。

1. 进入 php-fpm 的根目录

cd /usr/local/etc/php/7.3/

2. 编辑 php.ini 文件

vim php.ini

3. 修改 open_basedir

修改 open_basedir 参数的值,加入 nginx 的 root 目录,修改后的内容如下。

[mark_a]open_basedir = /Users/pieruo/Documents/www/:/Users/pieruo/www/:/usr/local/var/www/:/tmp/:/proc/[/mark_a]

结束语

我们手动安装 LNMP 环境的时候,经常会遇到各种各样的一些错误提示,当我们遇到访问 php 提示 No input file specified 的时候可以通过在 php.ini 中添加工作目录的方式解决。如果有任何意见或建议,欢迎在下方留言。

 

喜欢 1
奋楫笃行,臻于至善!

相关文章

php安装扩展

php扩展就是php核心并不支持的功能,然后可以通过扩展的方式进行扩展PHP的功能,常见的扩展如MySQL,gb2等等。php自身提供了很多扩展,比如curl,gmp, mbstring等等。我们在编...
阅读全文

ThinkPHP5.1安装教程

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发...
阅读全文

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注