2017-08-18 93 views
1

,而我有一個應用程序在我的Windows運行完美以及CentOS的服務器,但最近我已經改變了我的操作系統從Windows到Ubuntu。現在public文件夾被稱爲觸發器onBootStrap,我有自定義邏輯來檢查是否未登錄,然後重定向到默認Controller的loginAction。哪個重定向好,但沒有控制器工作,他們返回404 errorZend框架2 LAMP返回404錯誤是工作在Windows

即使我的公共控制器無法訪問。

我錯過任何相關分機嗎?

回答

0

難道它是一些目錄分隔符是\而不是/?如果這些硬編碼,嘗試用PHP不斷DIRECTORY_SEPARATOR取代他們的任何地方,你有他們,就像這樣:

require_once 'path'.DIRECTORY_SEPARATOR.'to'.DIRECTORY_SEPARATOR.'file'; 

代替:

require_once 'path/to/file'; 

有在開發Windows時,幾個問題,那就是隻是其中之一。不區分大小寫和字符編碼是您將要面對的其他問題。

不是一個簡單的解決方案在您的網站重新配置的一切(或WAMP/XAMPP等)將是一個便攜式的開發服務器設置,您可以與您的團隊分享,所以我建議你嘗試虛擬機!

下載流浪和VirtualBox的第一。然後,如果你去puphpet.com,你可以填寫一個表格來配置你的開發服務器。儘可能使其與生產服務器保持一致。

一旦你完成填表,下載配置壓縮,解壓縮,cd進入該文件夾,然後鍵入vagrant up。這需要一段時間,但是一旦準備就緒,您將擁有一臺完整的Linux服務器,並且如果您共享該zip,則無論在Windows,Linux還是Mac上,團隊中的每個人都將具有相同的設置。

無論如何,如果你打算繼續在Windows本地開發,請檢查你的php error_log

+0

哈!我剛剛意識到輸入了所有內容,這是另一種方式,大聲笑!檢查你的error_log,看看它是否有助於啓發我們! – delboy1978uk

+1

但是我沒有在任何地方使用'require_once',我遵循Zendframework標準,並且在CentOS上運行,這是我的活服務器。 –