2013-10-24 85 views
1

我有一個使用CakePHP 1.3和2.3的環境,兩者都使用相同的模型類。CakePHP 2.3在生產環境中加載模型類,但不在測試環境中「區分大小寫」

我可重用的模型路徑是:在/ var/WWW /庫/ CakePHP的/模型/ *

在我的config/bootstrap.php中文件我已經設置:

App::build(array(
    'Model' => array('/var/www/libs/cakephp/models/'), 
)); 

在生產環境中一切正常非常好,但在測試環境中'models/*'文件夾內的類未加載。

這兩個服務器都是LAMP。

經過大量的試驗和錯誤我發現,如果我在測試環境文件夾從 yclassname.php重命名我的模型內部文件/到中號 yclassname.php一切正常!

所以問題是在名稱文件中的情況。

我知道CakePHP 2.3的約定,模型類應該是CamelCase,但在舊的CakePHP 1.3應用程序中需要這些類。這裏的問題是關於使用相同版本的框架,PHP和Linux時配置的區別。

什麼可能是我的問題的原因?

在開發環境(Windows)中一切正常。

+2

你可能會得到一些有用的信息,例如, '調試(get_included_files());'。顯然,在生產環境和測試環境的設置方面有些不同 - 你可以通過例如'cd/var/www/libs/cakephp/models /; ln -s myclassname.php MyClassname.php' - 即在兩種情況下使每個模型都可用(不過,在不同主要版本之間共享這樣的文件是一個壞主意 - 對每個版本使用單獨的共享模型的檢出/複製)。 – AD7six

回答

0

正如AD7six所建議的,我創建了符合我的模型的符號鏈接,允許CakePHP 1.3和2.3從案例中獨立地請求類文件。

cd /var/www/libs/cakephp/models/; ln -s myclassname.php MyClassname.php 
相關問題