本文作者:Hy221

打开网站显示“No input file specified.”的解决方法

Hy221 5个月前 ( 11-16 ) 604 抢沙发
摘要: 百度云虚拟机BCH是一个奇葩存在,为什么这么说呢啊。至少它折磨了我一上午,接下来说说百度云虚拟机在搭建Z-BlogPHP过程中我所遇到的问题。我在自己的测试服务器上安装了zbp,然...

百度云虚拟机BCH是一个奇葩存在,为什么这么说呢啊。至少它折磨了我一上午,接下来说说百度云虚拟机在搭建Z-BlogPHP过程中我所遇到的问题。

我在自己的测试服务器上安装了zbp,然后搭建了企业的主题(你问我为什么在我自己的服务器?因为朋友的服务器那时没有购买呢),都完成之后,开始给zblogPHP数据做迁移(之前写过相关的教程,没看过的可以点击:传送门),当我把mysql数据库和文件上传到百度云虚拟机的时候,发现打开网站之后显示“No input file specified.”,当然,我英文不好,所以第一反应就是百度翻译。。。是的,翻译过来就是“没有指定输入文件”,这么可能呢?文件已经传完,数据库账号密码也都修改完成,数据库导入也没有错误,就算有错误也不应该显示这个提示啊,这就尴尬了;

201810261540532126977115.jpg

有问题就百度,你总能找到答案(百度云虚拟机的操作看过了,未解决),百度了以下,大概的原因就是需要修改php.ini文件,具体方法是:打开php.ini,CTRF+F查找如下代码,

;cgi.force_redirect = 1

然后去掉前面的 ; 分号,把1改成0,然后提交保存,然后重启启动配置文件(修改之后如下)

cgi.force_redirect = 0

好了,问题是找到了,但是奇葩的是百度云虚拟机没有修改php.ini的路径你造么?

201810261540531136422275.jpg

一度陷入僵局,没办法继续查看百度虚拟机的操作说明,这回用我卡姿兰大眼睛找到了官方给出的修改php.ini的办法,那就是。。。。。。自建php.ini文件没事的,你没看错,自己在网站根目录建立文件,原文这么写的:

其它自定义配置

自定义php.ini

用户可以在webROOT目录下增加一个php.ini文件,将需要改变的值写入,重载后即可生效。其中Error_log和extension_dir的值请不要修改,否则会导致BCH的一些服务无法生效。

看到了吧,知道为什么会说百度云虚拟机是个奇葩的存在了吧。行了,问题都可以解决了,那么新建一个php.ini,直接写入上代码

cgi.fix_pathinfo = 0

就行了,然后保存,回到百度云虚拟机重载配置,OK,网站能正常访问;


然后,,,是的又出现一个问题zbp的伪静态没有生效,所有的页面都是404,oh~~~no,我经不起这么大的坎坷啊,受不鸟啊。


在再一次百度,结果就是,还是需要自建伪静态配置文件,,,


在网站的根目录里面(webroot目录下)新建一个bcloud_nginx_user.conf文件(bch是不允许修改基础配置文件的,所以只能通过加载用户自定义配置文件),写入zbp的伪静态规则代码:

if (-f $request_filename/index.html){
	rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
	rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
	rewrite (.*) /index.php;
}

然后保存,提交,回到控制面板,找到站点启停,点击右侧的重载站点服务。(切记修改完规则之后一定要重新加载否则不能生效)。

到此一切都归于平静,一个F5你暗恋已久的页面就出现在了你的眼前!

转至李杨博客


分享到:
赞(1

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

发表评论

快捷回复:

评论列表 (暂无评论,604人围观)参与讨论

还没有评论,来说两句吧...