CodeIgniter ile apc.cache_by_default

3 Cevap php

Ben cache_by_default açmak ve sunucusu apc.stat etkinleştirirseniz Ancak çökmesine, wamp 2, PHP 5.3 ve CodeIgniter 1.7.2 ile benim localhost APC (Alternative PHP Cache) kullanmaya çalışıyorum ve aşağıdaki hatayı alıyorum:

[apc-error] Cannot redeclare class ci_benchmark in C:\wamp\www\k\mvc\codeigniter\Common.php on line 127.

Ben bu sorunu düzeltmek için ne yapabilirim?

3 Cevap

Eğer o güne kadar cache_by_default sağlayan değil daha iyi bir çözüm bulursa görmek için this user ile kontrol ettiniz mi?

Eğer apc.cache_by_default VE apc.stat etkinleştirmek bu sadece olur mu? Performans nedenleriyle, bir üretim sunucusuna apc.stat çalıştırmak istemiyorum. Ve üretime geçmeden önce, hangi zaman elle önbelleği temizleyebilirsiniz bir son kontrol olarak başka hiç bir dev sunucuda önbelleğe çalıştırmak için gerek yoktur.

Üretim sunucu da bir pencere kutusu var mı? Yanlışlıkları geliştirilmesi ve farklı ortamlarda çalışan sonucu yapılandırma sorunları aşağı izleme çok zaman kaybetmek kolay, çünkü ben sadece soruyorum. Lütfen uygulama geliştirme - üretim ortamı dev ortamında önemli ölçüde farklı ise, bu dev kutuyu önbelleğe kapatarak ve zaman daha verimli kullanımına geçmeden lehine bir argümandır.

Eğer apc.stat devre dışı bıraktığınızda, apc göreli yolları ile ilgili bir sorun var gibi görünüyor. CodeIgniter index.php dosyasında göreli bir yol kullanır, bu yüzden şeyler kırar.

Index.php açın ve bu değiştirin:

$system = '../system';

Bunun için:

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

CodeIgniter'ın sistem klasörüne ne olursa olsun sunucunun tam yolu ile yerine '/ var / www /' dir.

Include_onceyi için bu işlevi gerektirir değiştirmeyi deneyin. Yani dosya sadece bir kez dahil edilecektir. Bu işlevde demek: sistemi / CodeIgniter / common.php: function & load_class ($ class, $ instantiate = TRUE), bu yardımcı olacaktır sanırım. Ben APC aggresively için önbelleğe alma olduğunu düşünüyorum.