当我尝试访问一个特定的PHP文件,直接通过在地址栏中键入它的path像http://www.mysite.com/path/to/my/file.php ,我得到
文件未findFirefox找不到文件
没有其他的错误,只是…如果我上传一个简单的PHP文件,只是回声“testing”,我可以访问它,这两个文件是在同一个文件夹。
启用VPS CentOS 5.5 apache mod_security,安装ASL。
这两个文件的权限是相同的。
有什么区别?
我可以让Firefox说“文件未find:Firefox无法find文件”的唯一方法是使用文件:URL:“file:/// tmp / does-not-exist”。 所以你提到的错误似乎表明你正在使用一个文件:URL来尝试访问远程计算机上的文件。 也许工作的文件是在工作站上还有服务器上的文件,服务器上不存在不存在的文件? 您可以通过查看服务器日志来validation它实际上是从服务器请求文件(如下所述)。
当Firefox报告“找不到文件”时,顶部的url栏中的url是什么? 它是“文件:”还是“http:”? 如果你进入一个shell窗口或者文件浏览器,你的工作站上是否存在一个你试图访问的文件名(可以工作的.php文件,或者是不存在的文件)?
您使用的URL应如下所示: http : //serverhostname.example.com/filename
以下是一些其他常见的使用服务器上的日志的Apache疑难解答的想法,它可以提供更多的信息,并validation您是否真的打到服务器。
首先要做的是查看Apache错误日志,通常在“/ var / log / httpd / error_log”中。 尝试访问提供错误的文件,然后查看error_log和“/ var / log / httpd / access_log”,并查看它们与请求相关的内容。请注意,如果您对Apache进行了configuration更改,一个不同的目录,你的错误/访问日志可能在不同的位置。
通常情况下,如果这是服务器上的权限问题,Firefox会回应“您无权访问此服务器”。 error_log会说“(13)权限被拒绝”。 在这种情况下,您可能只需要“chmod 644”,以便Web服务器可读。 如果这不起作用,有时候是SELinux阻止访问。 您可以通过运行“setenforce 0”并尝试再次访问文件来testing。 如果现在成功了,那么问题就与SELinux有关。 当您完成重新启用SELinux时,请使用“setenforce 1”。
如果它不能匹配文件系统上的文件的URL,firefox通常会以“未find:在此服务器上找不到请求的URL”来响应,而error_log会说“文件不存在”。 这通常是由命名或拼写错误造成的,请validation日志对文件系统中文件名称的说明。
除非Firefox本身直接在VPS上运行,而不是在PC上运行,否则像file://some/path/filename.php这样的任何直接文件访问URL都将被视为错误的计算机。
如果这不能解释您的问题,请提供有关计算机和URL等的更多信息。
消息“File not found Firefox找不到文件”表明Firefox已经被要求查看运行firefox的计算机的本地文件系统(而不是通过HTTP来访问)。 对于找不到的文件,大多数服务器返回一个404和一个没有提到“Firefox”的特定于服务器的消息。
所引用的消息可能是由页面中的Javascript错误引起的,即使是使用HTTP检索到的错误也是如此。 但是有很多可能的原因。
如果服务器为http://www.mysite.com/path/to/my/file.php返回了404,我会在服务器的错误日志中寻找一些有用的信息。
在进行Web开发或系统pipe理任务时,我们在Firefox的caching行为方面遇到了很多麻烦。 也许Firefox已经caching了一个负面的结果,因为在完全设置之前访问URL?
你可以尝试一个不同的浏览器或只是wget来检索文件,以消除火狐caching的影响。
感谢我的问题的答案input,我能够跟踪问题的原因。 案件解决如下:
无法打开的页面(只返回500或根本没有错误)是使用已被ASL禁用的“proc_open”和“proc_close”的脚本。
至于为什么在任何日志中没有任何与日志相关的日志条目,我还没有答案。
从php.ini的disable_functions指令中取出两个函数之后,一切都很好。