2013-02-11 153 views
0

我正在使我的第一個網站涉及到一些PHP,並且每當我按下上一頁上的操作按鈕時我都會收到錯誤。這是一個錯誤的文字:我得到一個PHP錯誤,我無法得到爲什麼我得到它

Warning: require_once(./include/config.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/u5161155/data/www/sh0rt.ru/submit.php on line 2

Fatal error: require_once() [function.require]: Failed opening required './include/config.php' (include_path='.:') in /var/www/u5161155/data/www/sh0rt.ru/submit.php on line 2

這是我的代碼

<?php 
require_once "./include/config.php"; 
require_once "./include/ShortUrl.php"; 

if ($_SERVER["REQUEST_METHOD"] != "POST" || empty($_POST["url"])) { 
    header("Location: shorten.html"); 
    exit; 
} 

try { 
    $pdo = new PDO(DB_PDODRIVER . ":host=" . DB_HOST . ";dbname=" . DB_DATABASE, 
     DB_USERNAME, DB_PASSWORD); 
} 
catch (\PDOException $e) { 
    header("Location: error.html"); 
    exit; 
} 

$shortUrl = new ShortUrl($pdo); 
try { 
    $code = $shortUrl->urlToShortCode($_POST["url"]); 
} 
catch (\Exception $e) { 
    header("Location: error.html"); 
    exit; 
} 
$url = SHORTURL_PREFIX . $code; 

echo <<<ENDHTML 
<html> 
<head> 
    <title>URL Shortener</title> 
</head> 
<body> 
    <p><strong>Short URL:</strong> <a href="$url">$url</a></p> 
</body> 
</html> 
ENDHTML; 

我明白了一個錯誤,但我不能得到它爲什麼不打開它。我在正確的目錄中找到了正確的文件。這就是爲什麼我要求幫助

+0

顯然,這是不正確的目錄,或PHP將包括它。什麼是你的腳本「當前工作目錄」? (例如'getcwd()'說什麼?),以及該配置文件的完全絕對路徑是什麼? – 2013-02-11 20:30:57

+0

哪裏找到這些文件? – 2013-02-11 20:31:30

+0

config.php的絕對路徑是什麼? – Songo 2013-02-11 20:54:04

回答

0

嘗試改變第一行:

 require_once "./include/config.php"; 
    require_once "./include/ShortUrl.php"; 

 require_once "/var/www/u5161155/data/www/sh0rt.ru/include/config.php"; 
    require_once "/var/www/u5161155/data/www/sh0rt.ru/include/ShortUrl.php"; 
+0

現在得到這個錯誤。警告:require_once(/var/www/u5161155/data/www/sh0rt.ru/include/config.php)[function.require-once]:無法打開流:在/ var/www/u5161155中沒有這樣的文件或目錄/data/www/sh0rt.ru/submit.php on line 2 致命錯誤:require_once()[function.require]:無法打開所需'/var/www/u5161155/data/www/sh0rt.ru/include/ config.php'(include_path ='.:')在/var/www/u5161155/data/www/sh0rt.ru/submit.php在線2 – 2013-02-11 20:39:45

+0

您的/ include /目錄位於與short.ru相關的位置/ dir? 當使用./path/to/file.php引用路徑時,請查看當前用戶的$ PATH var並將其添加到它。 如果你說../path/to/file.php這意味着,下去1個目錄,然後按照該路徑。 ../../path/to/file.php將下降2個目錄,然後按照路徑。 你也可以直接說require_once'/full/absolute/path/to/dir/file.php'而不用./或../以獲得更直接的訪問。 – neutron 2013-02-11 20:44:19

+0

我把它排序。我有一個我沒有看到的小錯誤。謝謝! – 2013-02-11 20:56:52