2012-11-17 48 views
2

在我的本地環境我require_once publiccontroller.php當我去到生產上的HostGator會失敗,因爲它不要求鬆散/包括文件,它會載入publicController.php什麼設置會導致區分大小寫的require_once路徑?

可惜。這是一個PHP或Apache的東西?我需要將我的環境鏡像,因此我想更改我的本地設置以匹配我的生產服務器。

+10

它通常是一個操作系統的東西。如果您在Windows上開發,路徑可能不區分大小寫。在幾乎所有其他系統上,它們都是區分大小寫的。始終使用文件系統區分大小寫的代碼。這是Windows的一個錯誤特性。 –

+0

@MichaelBerkowski你可以將其作爲答案發布,以便將其標記爲正確嗎? – Webnet

回答

8

文件系統區分大小寫不是PHP設置,而是特定於操作系統和文件系統。 Windows文件系統往往不區分大小寫,而大多數其他操作系統更喜歡區分大小寫的文件系統。

由於您不一定能預測您的代碼將來會在哪些操作系統上運行,因此建議您對始終使用區分大小寫文件系統的代碼。

如果您當前正在Windows(或其他任何不區分大小寫的文件系統)上開發,最好的方法是返回代碼並修復所有文件路徑以使用正確的外殼,並匹配它們在磁盤上命名。

0

區分大小寫是操作系統負責的問題。許多在Windows上開發php的開發者通常都會遇到這個問題。由於Windows不區分大小寫,並且開發人員在開發過程中通常不會遇到地址和文件名的問題,但是當他們將Web應用程序移動到Linux服務器時,出現隱藏的問題,因爲Linux中的地址和文件名不同,例如Myfile.phpmyfile.php之間有不同。

因此,就像推薦一樣,嘗試在Linux上開發您的Web應用程序。它爲您提供了一個更好更穩定的PHP編程環境。

+4

更好的建議是注意區分大小寫,而不是在Linux環境中開始開發。 – Havelock

+0

是啊..它也是一個真正的想法...但它會更好地開發Linux上的程序...因爲Web應用程序的最終服務器通常是Linux服務器...這只是一個建議... – hamedkh

相關問題