我在網站上實現Zend Framework時遇到問題。這不是一個奇特的應用程序,只是使用一些Zend驗證類和Zend_File_Transfer_Adapter_Http將文件上傳到服務器。 他們都沒有工作。問題是這樣的:我讀過我應該編寫一個htaccess文件來指定站點的文件夾結構,並且應該啓用mod_rewrite。我不知道如何檢查mod_rewrite,因爲我的提供者的控制面板非常無用。如何設置遠程服務器以使用Zend Classes在網站上驗證和上傳文件?
無論如何,我認爲這是足以包括Zend庫這樣的:
$libreria = $_SERVER['DOCUMENT_ROOT'];
$libreria.='Zend/ZendFramework/library';
set_include_path(get_include_path().PATH_SEPARATOR.$libreria);
require_once('Zend/Loader/Autoloader.php');
Zend_Loader_Autoloader::getInstance();
但顯然事實並非如此。所以我的另一個問題是:我應該以不同的方式實例化Autoloader,並且我應該指定一個名稱空間,如$loader = Zend_Loader_Autoloader::getInstance(); $loader->registerNamespace(something);
我不這麼認爲,因爲我說我只是試圖將驗證類和文件上載類包含到網頁。
最後,我在一些腳本上設置了類PHPMailer來處理用戶輸入,並且每當我似乎包含Zend Framework的正確路徑時,頁面會引發500內部服務器錯誤,但如果我不正確地寫路徑(這是另一個問題,我認爲如果我設置相對於文檔的路徑不起作用,例如,做$libreria='Zend/ZendFramework/library';
將不起作用,因爲我看到了爲驗證輸入而設置的所有條件失敗,無我寫的東西
然後最後一個問題是:PHPMailer與Zend Framework有一些不兼容嗎?不好意思問我,但我是一個新手,雖然我檢查了PHPMailer類並且沒有發現任何不兼容的東西,但我必須問。
在此先感謝如果有人願意幫助
我也應該補充一點,我已經測試在本地服務器上這個網站,它工作正常,問題出在遠程服務器上。
此外,我讀過這article here,這是我正在尋找,根據它我應該能夠引用Zend的標準類使用新的運算符。但在遠程服務器上,我不能這樣做,只能在本地進行。
尋找更多我已閱讀關於Zend安裝失敗的可能原因here on this same site,這使我可以澄清我的問題:首先,我認爲這些條件中沒有一個可能失敗,雖然正如我說的我避難所在我的提供程序的遠程服務器上無法檢查mod_rewrite,其次,我的htaccess文件是空的,所以沒有重定向規則(應該拋棄Zend Framework與不正確的htaccess交互的問題,如果我錯了,請糾正我),第三,我沒有訪問php.ini文件。那麼我能做什麼?任何建議都可以接受,因爲我一整個早上都在爲這個問題苦苦掙扎,並且不知道發生了什麼問題。
不知怎的,我懷疑'$ _SERVER ['DOCUMENT_ROOT']'是你的Zend文件夾的根,因爲那將是你的公共文件夾,我們通常不會把我們的庫放到公共文件夾中。 –
@AdrianWorld謝謝。實際上,在設置包含路徑後遇到很多麻煩之後,我會這樣做。我嘗試了Unix根目錄'/ mypath/etcetera,etcetera'和相對路徑'../ ZendFramework /',但都沒有工作。我仍然有這個問題。最近我在注意到ZendFramework沒有被加載後試圖改變.htaccess文件。我在htaccess文件中做了'php_value include_path「:/ home/u230474/Zend'',但是發生的事情是網站的頁面都不能被查看。所以我刪除了對.htaccess的更改。我發佈了另一個關於將dir添加到htaccess的問題 –