Biz bir opcode önbellek olarak APC kullanıyor. Bir dosyanın olmayan varlığını önbelleğe için APC almak için bir yolu var mı? Biz apc.stat = 0
ve apc.include_once_override = 1
belirledik. include_once
dosya sistemi mevcut olmayabilir, bir dosya üzerinde çağrı performansını artırmak için yapacak daha çok şey var mı? Varsa, belli ki bunu eklemek istiyorum. Bu mevcut değilse Ancak, never mevcut olacak ve biz PHP kontrol etmek için her istek üzerine dosya üzerinde open()
aramak istemiyorum.
Bazı arka plan için: Biz bir tabanı site var ama bir müşteri tarafından müşteriye bazda siteye özelleştirmeleri sağlamak. Bazı müşteriler, özel bir giriş sayfası var diğerleri tamamen benzersiz sayfaları var vs
Biz, bize gerekli denetleyicileri geçersiz kılmak için izin biraz alışılmadık bir şekilde Zend Framework kullanarak ediyoruz. Sitemiz Bir dosya içinde tanımlanmış LoginController
adında bir denetleyici, olabilir controllers/LoginController.php
. Ancak, bizim müşteri "Şirket" özel bir giriş sayfası için bir gereklilik olabilir, bu yüzden Company_LoginController
controllers/company/LoginController.php
bir dizin tanımlı adında yeni bir sınıf yazacağız. (Bu adlandırma kuralı bize "modüller" Zend Framework kavramı ile tutarlı olmasını sağlar.)
Biz sınıf ile uğraşırken, biz temelde böyle bir şey yapın:
include_once APPLICATION_PATH . '/controllers/company/LoginController.php';
if (class_exists("Company_LoginController")) {
echo 'customer-specific controller exists';
} else {
include_once APPLICATION_PATH . '/controllers/LoginController.php';
echo 'customer-specific controller does not exist; using default';
}
Dosya /controllers/company/LoginController.php
varsa, APC ilk istek üzerine önbelleğe ve yeniden dosya sisteminden almak asla. Dosya /controllers/company/LoginController.php
gelmez not varsa, ancak, ben APC birden fazla kez bu dosyanın varlığını kontrol etmek istemiyorum. Bunun gerçekleşmesi için herhangi bir şekilde?