0

我试图将我的 facebook 应用程序文件重新组织到更好的文件夹中,现在当我尝试在 facebook 上加载我的应用程序时,它会引发以下错误:

Warning: require_once(../scripts/mysql_connect.php) [function.require-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\<root folder>\Model\Database.php on line 3

Fatal error: require_once() [function.require]: Failed opening required '../scripts/mysql_connect.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\<root folder>\Model\Database.php on line 3 

第二个错误是我认为第一个错误的结果。奇怪的是,当我通过浏览器中的 localhost url 访问时,我的程序运行良好,但是当我通过 facebook 运行它时,它会抛出这个错误。

在我的根文件夹中,我有一个保存 Database.php 文件的“模型”文件夹和一个保存 mysql_connect.php 文件的“脚本”文件夹。我尝试清除浏览器上的缓存并使用隐私浏览,但它仍然抛出此错误。

有谁知道可能出了什么问题?

编辑:对不起,这似乎也不适用于本地主机!我认为奇怪的一件事是它说“无法打开流:没有这样的文件或目录”,然后列出了 database.php 路径。为什么要往里面看?

我使用require_once('../scripts/mysql_connect.php');我的 Database.php 文件顶部的行来包含它。

4

3 回答 3

0

您是否有权编辑您的 php.ini 文件?一种解决方案是找到包含路径的行(您会注意到它已经有 C:\xampp\php\PEAR)。包括您引用的“脚本”文件夹的完整路径,然后您可以将 php 代码更改为:

require_once('mysql_connect.php');

PHP 将能够找到此文件,因为它位于包含路径中。只要确保如果您开始添加多个包含路径,则不应在两个或多个不同的包含路径中包含名为 mysql_connect.php 的文件,因为您很可能会遇到错误。希望这可以帮助。它肯定会产生一些更简洁的代码。

于 2012-08-16T11:59:04.353 回答
0

好的,我已经解决了这个问题,但我仍然不确定为什么会出现问题。在我的根文件夹中,我有两个文件夹:脚本和模型。我的模型文件夹中有一个 database.php 文件,其中包含以下代码行:

require_once('../scripts/mysql_connect.php');

由于某种原因,这不起作用,但是通过将行替换为:

require_once('/scripts/mysql_connect.php');

这又开始工作了!只是想我会发布解决方案。有谁知道为什么其他方式失败了?我认为“..”只是让它在文件夹层次结构中上升一级,即在这种情况下到根文件夹,然后按照将它带到文件的路径...

编辑:这似乎只为本地主机解决了它,而不是通过 Facebook ......

于 2012-08-16T12:14:16.747 回答
0

似乎在服务器上有一个不同的工作目录。像下面这样的东西应该是一个快速修复

dirname(__FILE__) . '/../scripts/mysql_connect.php'

于 2012-08-16T11:52:35.530 回答