require_once () ya da kalıp () çalışmıyor

3 Cevap

Herkes () neden benim Require_once () biliyor ya ölecek mi; çalışmıyor. O zaman bunun yerine kalıp içine girmek hata iletisi () ve Ölümcül hata gösterilene. Benim kodu için aşağıya bakınız:

require_once ('abc.php') or die("oops");

Hata mesajı göstergesi olarak aşağıda

"Ölümcül hata: kontrolör :: require_once () [function.require]: Başarısız açılış gerekli '1 '= (include_pathdaki' ....."

yerine mesajın ("oops") Bir içeri anahtar

3 Cevap

or / require_oncenin gerektiren daha yüksek bir önceliğe sahiptir. Bu nedenle php değerlendirir

('abc.php') or die("oops")

Require_oncenin için sonuç geçirmeden önce. Or iki boolean işlenen alır. ('Abc.php') değerlendirir true, bu nedenle bütün ifade true ve

require_once true;

çağrılır. require_once bir dize alır, bool (true) -> string => 1 =>

Failed opening required '1 ' Sen gerekmez ya da orada (...) die. Dosya salt edilemezse Require_once yine php örneğini duracaktır.

Değerlendirirken:

require_once ('abc.php') or die("oops");

PHP evaluates 'OR die("oops")' first for some reason. to force PHP to evaluate the "require_once ('abc.php')" encolse it in brackets.

(require_once ('abc.php')) OR die("oops");

"Ihtiyaç" başarısız Ancak, eğer PHP işleme nedenle yerine "include" kullanımı durur (bkz. http://stackoverflow.com/a/2418514/1704651). Ayrıca, include_once önce @ sembolü de sadece "ayyy" çıkışı olan MySQL hata mesajı baskılar.

(@include_once ('abc.php')) OR die("oops");

Beklendiği gibi çalışır.

Kaynak: Benim kendi hayal kırıklığı ve https://bugs.php.net/bug.php?id=22342