当前位置: 首页 > 面试题库 >

未指定输入文件

柴瀚
2023-03-14
问题内容

我正在运行AnchorCMS,而我刚刚升级到0.8版。尝试运行安装程序时,出现“未指定输入文件”错误。我相信这很可能是.htaccess问题,但是我不确定应该使用什么正确的设置。

我的网站可以在这里找到。

我的.htaccess设置为:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase {base}

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)$ {index} [L]
</IfModule>

<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>

如果有帮助,我还将GoDaddy用作托管服务提供商。


问题答案:

指定输入文件
是由于服务器上PHP的实现而向您显示的消息,在这种情况下,这表示CGI的实现(可以通过验证phpinfo())。

现在,要正确解释这一点,您需要对系统如何与URL一起使用有一些基本的了解。根据您的.htaccess文件,您的CMS似乎希望该URL作为PATH_INFO变量传递。CGI和FastCGI实现不可PATH_INFO用,因此当尝试传递URI时,PHP失败并显示该消息。

我们需要找到一个替代方案。

一种选择是尝试解决此问题。查看核心php.ini指令的文档,您会发现可以更改实现的工作方式。尽管GoDaddy可能不允许您在共享环境中更改PHP设置。

我们需要找到修改PHP设置一个替代
展望system/uri.php第40行,你会看到,CMS尝试两种类型的URI的检测-第一个是PATH_INFO,我们刚刚得知将无法正常工作-
另一个是REQUEST_URI

这基本上就足够了-
但是传递的URI的解析会给您带来更多麻烦,因为您可以传递给REQUEST_URI变量的URI会强制parse_url()仅返回URL路径-
基本上使您返回零。

现在,实际上只剩下一种可能性-这正在改变CMS的核心。URI检测部分不足。

QUERY_STRING第40行的数组添加为其中 的第一个元素system/uri.php并将.htaccess更改为如下所示:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?/$1 [L]

这会将您请求的URI传递为index.phpas QUERY_STRING,并进行URI检测以找到它。

另一方面,这使得在不解决核心文件问题的情况下,不更改核心文件就无法更新CMS。糟透了…

需要更好的选择吗?
查找更好的CMS。



 类似资料:
  • 问题内容: 嗨,我是Codeigniter的初学者,我看过CI教程,只是想做一件简单的事情。我下载了CI,并将此文件添加到控制器目录中,但是它不起作用。 当我尝试使用http://..../index.php/site访问它时,得到输出…“未指定输入文件” .....,我将文件命名为site.php。 问题答案: 我在这里找到了此问题的答案.....问题是托管服务器…我感谢所有尝试过的人....希

  • 问题内容: 有人可以帮我弄这个吗?我感觉自己已经将头撞在墙上超过2个小时了。 我已经安装在机器上,下面的代码可以正常工作,没有错误。 我的托管服务提供商服务器上的相同代码为我提供了404错误代码,并在那里输出了index.php。我知道他们已经安装了Apache(在任何地方都找不到版本信息),并且它们正在运行PHP v5.2.8。 我在,他们正在运行的一些与在模式。谁能建议可能是什么问题? PS。

  • 我是新来的,所以我花了一段时间来建立它,但是按照官方的指南,我仍然不知道哪里出了问题,我的家园。亚姆看起来像这样 IP:"192.168.10.10"内存: 2048 cpi: 2提供商: Virtualbox 授权:~/。ssh/id\u rsa。酒吧 键:-~/。ssh/id\u rsa 文件夹:-map: C:\用户\用户\文档\项目 致:/home/vagrant/code 网站:-地图:

  • 我是新来使用Laravel,和家园,并将感谢任何帮助或在正确的方向点。我已经成功地能够得到"你已经到达"屏幕时,我运行"php工匠服务",但当我试图做同样的事情通过Vagant,我得到"没有输入文件指定"。我的Homestead.yaml文件是这样的: 在我的计算机上,我有以下目录: 出于某种原因,在我的流浪者信箱上有两个名为“code”和“code”的目录: 我已经检查过了,我可以看到对我的计算

  • 这是Ubuntu 16.04中的nginx配置文件。4 LTS: 当访问网站我得到:没有输入文件指定。 存在/var/run/php/site.com.sock: 这是 /var/log/nginx/error.log *7在stderr中发送的FastCGI:“无法打开主脚本:/var/www/html/public/index.php(没有这样的文件或目录)”,同时从上游读取响应头,客户端:x

  • 我在我的网站上使用Moxiemager,到目前为止它工作得很好 它可以上传jpg/gif/png等 但是我在上传jpeg图像时遇到了麻烦 我用这个图像来测试它http://upload.wikimedia.org/wikipedia/commons/8/86/Cactus_Flower_(简单宏)。jpeg 当我尝试上传它时,会出现一个错误,说"没有指定输入文件" 这就是我编写代码的方式 我也试过