使用Document Root引用文件

时间:2014-02-14 02:10:46

标签: php linux

此代码以前适合我。但是后来GoDaddy把我搬到了一个Linux盒子里,现在却不是:

$path = $_SERVER['DOCUMENT_ROOT'];
$connection = $path . '\mySite\scripts\connection.php';
include ($connection);

session_start();

我收到此错误:

Warning: include(/var/chroot/home/content/07/11347607/html\mySite\scripts\connection.php) [function.include]: failed to open stream: No such file or directory in /home/content/07/11347607/html/mySite/scripts/administration/login.php on line 5

显然,我可以阅读错误消息,该消息表明该文件不存在。但是,我已经验证确实存在(就像在Linux更改之前那样),但是我的代码可能不能在Linux文件系统上下文中工作?我尝试将\切换为/,但这并没有解决任何问题。

任何人都可以帮我解决这个问题吗?谢谢!

编辑: 我将\更改为/。这改变了我的错误。我现在得到两个错误:

Warning: session_start() [function.session-start]: open(/home/content/07/11347607/tmp/sess_7ner0g9kbgp5htc4bm7cleblb7, O_RDWR) failed: No such file or directory (2) in /home/content/07/11347607/html/mySite/scripts/administration/login.php on line 8

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/07/11347607/html/mySite/scripts/administration/login.php:8) in /home/content/07/11347607/html/mySite/scripts/administration/login.php on line 8
success
Warning: Unknown: open(/home/content/07/11347607/tmp/sess_7ner0g9kbgp5htc4bm7cleblb7, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

以下是我成功连接的connection.php中的代码:

$link = mysqli_connect($hostname, $username, $password, $db_name);
if (!link) die("no connection");

3 个答案:

答案 0 :(得分:1)

尝试使用此功能并使您的路径相对。

$path = __DIR__;
$connection = $path . '\mySite\scripts\connection.php';
include ($connection); 

答案 1 :(得分:1)

您可以尝试使用:

$path = dirname(__FILE__);
$connection = $path . '/mySite/scripts/connection.php';
include_once($connection);

正斜杠应该适用于Windows或Linux Box:Reference

你的linux盒子也可能运行不同版本的PHP,所以你可能需要修改你的connection.php脚本。如果这是数据库连接,请使用PDO! PDO Tutorial

答案 2 :(得分:0)

感谢所有评论和回复的人。在与GoDaddy的三个不同技术支持电话上花了一段时间后,我们终于发现问题已经结束了。无需更改代码。

我很遗憾浪费了每个人的时间。非常感谢你们!