2009-10-06 75 views
1

我一直在嘗試在我的網站中實現openid功能。我下載了JanRain的圖書館。OpenId庫(包含文件未找到腳本)

我在我的classes目錄下抽取了'Auth'文件夾,並在'example'文件夾下面的示例中創建了包含目錄中的try_auth.php,finish_auth.php,common.php文件。

現在,當我點擊openid選擇器鏈接時,出現一個錯誤消息,顯示'openid.php'文件未找到。

該文件存在於Auth目錄中。

我糾正了它,然後出現一個不同的錯誤,提示'Auth/Yadis/HTTPFetcher.php'找不到。

如果我坐在auth文件夾中的每個文件中單獨更改require路徑,則需要很長時間。

我的應用程序的目錄結構是這樣的
應用
   類
         驗證(OpenID庫)
   配置
   元件
   包括
   意見
   根目錄
   的index.php

請幫我我在做什麼錯。如何設置includepath以便所有文件自動採用各自的路徑。

感謝

回答

2

as the documentation states(你不提一個版本,所以我假設你正在使用2.xx的),此包中的Auth/目錄必須位於您的PHP include path中。有various ways做到這一點:php.inihttpd.conf/.htaccessini_set(),...如果你在php.ini做到這一點,你的應用程序目錄是/path/to/your/app,它看起來就像是:

; UNIX: "/path1:/path2" 
include_path = ".:/php/includes:/path/to/your/app/classes" 
; 
; Windows: "\path1;\path2" or "c:/path1;c:/path2" 
;include_path = ".;c:/php/includes;c:/path/to/your/app/classes" 
+0

:-) 謝謝斧先生 我認爲你的解決方案似乎是一個有效的,將盡快嘗試。 感謝您的幫助。我很感激。 – 2009-10-07 06:04:49

0

做一個GETCWD找到你在目錄並使適當的chdirs)來解決您的問題。這是一個骯髒的解決方案,但它應該以最小的努力工作。

+0

我會那樣做已經能夠解決我的問題了。 :-) – 2009-10-06 12:13:08

1

文件在那裏,你只是沒有正確設置路徑。

你說這是它尋找的路徑'Auth/Yadis/HTTPFetcher。PHP的」 您可能需要添加的完整路徑,像這樣:

/var/www/html/whaterver/Auth/Yadis/HTTPFetcher.php 

/this/is/where/you/put/the/path/to/the/file/Auth/Yadis/HTTPFetcher.php 

只是這個命令來查找的基本路徑並將它添加到您的文件路徑

echo `pwd`; 

注意:這些反引號不是單引號圍繞pwd命令

編輯:

你只需要它添加到你的努力,包括到腳本文件。

例:

您的文件是在這裏:/var/www/html/index.php

,你需要在這裏包括本文件:/classes/package/files.php

這個文件:/classes/package/files.php知道包中所有其他文件的位置,因此不需要編輯其中的任何文件。

但是,你需要編輯/var/www/html/index.php文件,並添加一些謊言是:

include('/var/www/html/classes/packages/files.php'); 

一旦你有這個在您的腳本應該知道一切是。

或@ax曾表示這看起來是一個php.ini配置

希望這有助於

+0

感謝您的回答。 :-D 親愛的, 'Auth'文件夾中有大約40個文件。你仍然希望我爲每個文件都做這件事。? 如果我這樣做,那將需要很長時間。我敢打賭,這是一個更好的解決方案。不是嗎?? – 2009-10-06 12:25:42

+0

對於每個文件,除了包含腳本文件的文件外,不需要其他文件。 – 2009-10-06 12:47:22