空白を描いています。ローカルで動作するコードがあります (これは MAMP です)。nginx ubuntu ボックス (php-fpm を実行) に移動すると、何らかの理由で phpactiverecord が動作しなくなります。
私は最終的にこれにたどり着きました-すべてのモデルクラスを手動でロードする必要があります。コードの下に require_once() を追加すると、正常に動作します。そうしないと、次のようなエラーが表示されます。
PHP Fatal Error: Class not found ... 作成したモデルで..
これをどの方向にトラブルシューティングできるか、誰にもわかりませんか? モデル フォルダー (パブリック ルートにはありません) へのアクセス許可を確認し、cfg->set_model_directory に送信されるパスをエコーアウトして、正しいなど..
これはnginxまたはphpのように聞こえますか?これは私のMAMPで動作するので、nginxを推測していますか?
動作しません:
ActiveRecord\Config::initialize(
関数 ($cfg) {
$cfg->set_model_directory(BASE_PATH . '/models');
$cfg->set_connections(
配列(
'開発' => 'mysql://blah:removed@localhost/com_dbname'
)
);
}
);
作品:
ActiveRecord\Config::initialize(
関数 ($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::initialize(
関数 ($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');
echo "urlkey=" . $_record->urlkey;