php no input,php网站访问提示No input file specified

访问网站首页index.php提示错误:

No input file specified.

wordpress提示的错误,其实这个错误不仅仅在wp框架下出来,任何php程序都会出现,

我这里出现这个问题是由于开启防跨目录功能导致,此功能一般是防止恶意代码写入到其他网站目录文件,导致挂马之类的攻击。

这个功能由open_basedir参数控制。在php.ini里可配置,在每个网站根目录下的.user.ini也可以配置。

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

查看下此站的 .user.ini 文件:

root@rootop:/home/web/test.rootop.org# cat .user.ini

open_basedir=/www/wwwroot/test.rootop.org:/tmp

查看php.ini配置:

root@rootop:/etc/php/7.2/fpm# cat php.ini | grep user.ini

; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"

;user_ini.filename = ".user.ini"

;user_ini.filename =

;user_ini.cache_ttl = 300

在nginx中日志会体现为:

2019/12/10 17:55:28 [error] 25190#0: *1062213 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: open_basedir restriction in effect. File(/home/web/test.rootop.org/index.php) is not within the allowed path(s): (/www/wwwroot/test.rootop.org:/tmp) in Unknown on line 0

PHP message: PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0

Unable to open primary script: /home/web/test.rootop.org/index.php (Operation not permitted)" while reading response header from upstream, client: 223.104.210.230, server: test.rootop.org, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.2-fpm.sock:", host: "test.rootop.org"

解决方法:

要么直接删除.user.ini,要么修改为正确的防跨目录路径(正确的网站目录路径)。

另外出现此错误,也有可能是其他原因导致,需要从日志里排查。

专注于 服务器运维与web架构

E-mail:venus#rootop.org

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值