我在画一个空白。我有在本地工作的代码(即 MAMP)。当移动到 nginx ubuntu 机器(运行 php-fpm)时,由于某种原因,phpactiverecord 正在运行。
我终于把它追溯到这个 - 我所有的模型类,我必须手动加载。如果我在我的代码下面添加一个 require_once() ,那么它工作正常。如果我不这样做,那么我会收到如下错误:
PHP 致命错误:在我创建的模型上找不到类...
有谁知道我可以在哪个方向解决这个问题?我检查了对模型文件夹(不在公共根目录中)的权限,回显了发送到 cfg->set_model_directory 的路径是否正确,等等。
这听起来像一个 nginx 或 php 的东西?我猜是 nginx,因为这适用于我的 MAMP?
不起作用:
ActiveRecord\Config::初始化( 功能($cfg){ $cfg->set_model_directory(BASE_PATH . '/models'); $cfg->set_connections( 大批( '发展' => 'mysql://blah:removed@localhost/com_dbname' ) ); } );
作品:
ActiveRecord\Config::初始化( 功能($cfg){ $cfg->set_model_directory(BASE_PATH . '/models'); $cfg->set_connections( 大批( '发展' => 'mysql://blah:removed@localhost/com_dbname' ) ); } ); require_once(BASE_PATH . '/models/model1.php'); require_once(BASE_PATH . '/models/model2.php');
更新
添加实际代码以帮助识别问题:
require_once ('../lib/php-activerecord/ActiveRecord.php'); ActiveRecord\Config::初始化( 功能($cfg){ $cfg->set_model_directory('/var/www/uc1/models'); $cfg->set_connections( 大批( '发展' => 'mysql://test_usr:test_pwd@localhost/test_db' ) ); } ); require_once ('/var/www/uc1/models/ucurls.php'); //模型文件的名称。必须手动包含才能使其在我的 nginx 服务器上工作。 $_record = UCUrls::find_by_urlkey('example.com/123'); 回声“urlkey=”。$_record->urlkey;