2011-12-23 93 views
0

我正在嘗試Facebook開發人員的教程。但是,我無法在我的代碼中成功包含Facebook PHP SDK。如前所述,require_once("facebook_sdk/facebook.php");引發以下錯誤:require_once(「facebook-sdk/facebook.php」)會引發警告「未能打開流:權限被拒絕」

Warning: require_once(facebook_sdk/facebook.php) [function.require-once]: failed to 
open stream: Permission denied in /opt/lampp/htdocs/awesome/plas.php on line 2 

Fatal error: require_once() [function.require]: Failed opening required 'facebook_sdk/facebook.php' 
(include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/awesome/plas.php on line 2 

我下清醒山貓發展。我試圖做chmod 777 facebook.php但問題仍然存在。我發現this SO question但解決方案到達(重命名文件,因爲它可能與PHP自己的衝突)不適合我。 (想想看,一個名爲facebook.php的文件如何與內部PHP文件衝突?!)即使我切換到普通的require,也會引發相同的警告。

奇怪的是,如果我的文件(facebook.phpbase_facebook.php)複製的facebook_sdk外,並相應地改變require_once路線,需要成功。有什麼想法嗎?

+1

chmod目錄以及文件的放置。看起來您沒有足夠的權限來觸摸該目錄中的文件。 – hakre 2011-12-23 19:31:43

+0

'/ opt/lampp/lib/php'中有什麼?是否有'/ opt/lampp/lib/php/facebook_sdk/facebook.php'文件? – ceejayoz 2011-12-23 19:31:50

+0

你釘住它了。如果你將這個答案轉化爲答案,我很樂意接受。謝謝! ( - ,) – skytreader 2011-12-23 19:34:20

回答

0

您的網絡服務器需要讀取權限爲facebook_sdk/facebook.php。您可以通過chown將目錄鏈接到Web服務器用戶。 chmod 777不是一個好的做法。

還要確保每個包含路徑,facebook_sdk/facebook.php存在。

+0

感謝您的額外「最佳做法」提示!實際上,當我懶得指定權限位並且我只想訪問時,我只會執行'chmod 777'。它只發生在本地主機上,從不在實際的服務器上。 – skytreader 2011-12-24 19:40:33

相關問題