2

wamp 2、PHP 5.3、および CodeIgniter 1.7.2 を使用してローカルホストで APC (Alternative PHP Cache) を使用しようとしていますが、cache_by_default をオンにして apc.stat を有効にすると、サーバーがクラッシュし、次のエラーが表示されます。

[apc-error] C:\wamp\www\k\mvc\codeigniter\Common.php の 127 行目でクラス ci_benchmark を再宣言できません。

この問題を解決するにはどうすればよいですか?

4

3 に答える 3

1

apc.stat を無効にすると、apc は相対パスに問題があるようです。CodeIgniter はメインの index.php ファイルで相対パスを使用するため、問題が発生します。

index.php を開き、これを変更します。

$system = '../system';

これに:

$system = '/var/www/system';

「/var/www/」を、CodeIgniter のシステム フォルダへのサーバーのフル パスに置き換えます。

于 2011-01-23T00:00:52.310 に答える
1

このユーザーに、cache_by_default を有効にしないよりも良い解決策があるかどうかを確認しましたか?

これは、apc.cache_by_default と apc.stat を有効にした場合にのみ発生しますか? パフォーマンス上の理由から、運用サーバーで apc.stat を実行したくありません。また、本番環境に移行する前の最終チェックとしてキャッシュを手動でクリアできる場合を除いて、開発サーバーでキャッシュを実行する必要はまったくありません。

運用サーバーも Windows ボックスですか? さまざまな環境での開発と実行に起因するバグや構成の問題を追跡するのに多くの時間を失うのは簡単なので、私は単に尋ねています。実稼働環境が開発環境と大幅に異なる場合、これは、開発ボックスのキャッシュをオフにして、時間をより生産的に使用すること、つまりアプリの開発に進むことを支持する別の議論です。

于 2010-05-02T16:28:38.343 に答える
0

Try changing the requires in that function to include_once. So the file will be only included once. In this function I mean: system/codeigniter/Common.php: function &load_class($class, $instantiate = TRUE), I guess that should help. I think APC is caching to aggresively.

于 2010-05-05T21:43:11.030 に答える