Değişkeni ile APC Önbellekleme içerir

3 Cevap php

PHP ile APC Caching biraz araştırma yapıyor ve koşullu işe yaramayan içerdiğini tespit edilmiştir. Gibi:

if($a) {
    include('a.php');
} else {
    include('b.php');
}

Benim sorum: Ben değişken içeren bu çevrede alabilir miyim? Gibi:

if($a) {
    $file = 'a.php';
} else {
    $file = 'b.php';
}
include($file);

Ikincisi kodu başarıyla APC-önbelleğe olurdu?

3 Cevap

APC hala sadece uygulama ayrıştırma daha sonraki bir aşamada, dosyayı önbelleğe olacaktır. Bu mümkün ise her zaman iki yerine dahil etmek önerilir.

Eğer koşullu içeren bağlı iseniz, belki bu hiç de büyük bir anlaşma olmadığını düşünmelisiniz. :)

APC paketi dosyası, apc.php (/ usr / share / doc / altında, sanırım bir yerde biter, yani bir kopyasını almak), bu dosyaları (bunu düzenlemek gerekir önbelleğe ve set ediliyor ne gösterecek içerir Tam yolu görmek için bir parola) - kesin için çalışmıyor, ya da APC çevreleyen gibi çince-fısıltılar off gidiyor biliyor musunuz?

Saw this post now.
Thought it might be useful for someone.

While using APC, if apc.stat=0 is used, then relative paths won't work in include, require etc.
You need to use absolute paths.

Eg:
Consider a script inside a folder named myfolder.

Göreceli yollar hatalara neden olur:

<?php include 'script2.php'; ?>

Bunun yerine mutlak yol kullanabilirsiniz:

<?php include $_SERVER['DOCUMENT_ROOT'] . '/myfolder/script2.php'; ?>

Refer the following links for more:
https://bugs.php.net/bug.php?id=59493
http://www.phpbb.com/community/viewtopic.php?f=46&t=2112260&p=12919262#p12919262