致命错误:require_once()[function.require]:无法打开所需的'__DIR__

时间:2013-05-11 10:38:47

标签: php android

我是PHP和Android的新手。我试图在现有线程上找到解决方案,但没有成功。

我正在开发一个Android项目,我需要连接到外部数据库。我已经设法使用WAMP创建一个外部数据库,它在本地主机上运行良好。

现在我正在尝试将外部数据库联机,我正在使用000webhost.com。 我通过000webhost.com服务创建了我的数据库副本,并尝试通过我的scrips和000webhost.com提供给我的凭据连接到数据库。 (DB_HOST,DB_USER等......)

我有一个应该显示所有现有用户的脚本。即它应连接到数据库并在网络浏览器中显示来自数据库的所有信息(我通过网络连接到http://www.mywampserver.netau.net/android_connect/get_all_users_placedescoverer.php),但它失败并出现以下错误:

Warning: require_once(__DIR__/android_connect/db_connect_placedescoverer.php)
[function.require-once]: failed to open stream: No such file or directory in 
/home/a2056935/public_html/android_connect/get_all_users_placedescoverer.php
on line 12

在第12行的get_all_users_placedescoverer.php中,我有:

require_once __DIR__ . '/android_connect/db_connect_placedescoverer.php';

db_connect_placedescoverer.phpet_all_users_placedescoverer.php存在于同一文件夹中。

我也尝试过使用:

require_once(realpath(dirname(__FILE__)'/android_connect/db_connect_placedescoverer.php'));

然后我得到:

  

警告:require_once()[function.require-once]:第13行 /home/a2056935/public_html/android_connect/get_all_users_placedescoverer.php中的文件名不能为空

对此的帮助将受到高度赞赏。

1 个答案:

答案 0 :(得分:4)

问题是PHP版本

魔术常量__DIR__仅在PHP v.5.3.0中可用,如documentation

中所述

000webhost可能使用较低版本。

在网络服务器中创建一个代码为phpinfo();的文件,并检查php版本。

要修复5.3.0之前的php bersion中使用的脚本,请将第12行更改为:

$dir = dirname(__FILE__);

require_once $dir . '/android_connect/db_connect_placedescoverer.php';

编辑:

您确定您的文件位于正确的位置吗?该文件应放在名为android_connect的目录中。

尝试使用您调用require的文件的相对路径。

如果你的index.php(我假设index.php是需要其他php文件的文件)放在public_html目录中,那么尝试使用相对路径

require_once 'android_connect/db_connect_placedescoverer.php';

如果它们位于同一文件夹中,则只需使用文件名:

require_once 'db_connect_placedescoverer.php';