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