Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 14380|Yanıt: 1

[Web sitesi O&M] X3.2 çalıştırdıktan sonra PHP log uyarıları: PHP Strict Standards

[Bağlantıyı kopyala]
Yayınlandı 27.04.2016 11:01:37 | | |

İşletim sistemi: win2008 R2
PHP sürümü: v5.4.32
MySQL sürümü: 5.5.39 Wincache ve memcache'i etkinleştir

Aşağıdaki kayıtlar her gün düzensiz bir zamanda tekrarlanır:
----------------------------------------------------------------------

PHP Sıkı Standartları: table_forum_post::update() beyanması, bbs\source\ içindeki discuz_table::update($val, $data, $unbuffered = yanlış, $low_priority = yanlış) ile uyumlu olmalıdır sınıf class_core.php 113 numaralı hatta

PHP Sıkı Standartları: table_forum_post::d elete() beyanması, bbs\source\class\class_core.php satırında 113 satırda discuz_table::d elete($val, $unbuffered = yanlış) ile uyumlu olmalıdır

PHP Sıkı Standartları: table_forum_post::insert() beyanması, discuz_table::insert($data, $return_insert_id = false, $replace = false, $silent = false) ile uyumlu olmalıdır BBS\source\class\class_core.php 113 satırında

PHP Sıkı Standartları: table_forum_post::fetch() beyanı, bbs\source\class\class_core.php satırında discuz_table::fetch($id, $force_from_db = false) ile uyumlu olmalıdır

PHP Sıkı Standartları: table_forum_post::fetch_all() beyannamesi, bbs\source\class\'daki discuz_table::fetch_all($ids, $force_from_db = yanlış) ile uyumlu olmalıdır class_core.php 113 numaralı hatta

PHP Sıkı Standartları: table_forum_post::update_cache() beyannamesi, bbs'deki discuz_table::update_cache($id, $data, $cache_ttl = NULL, $pre_cache_key = NULL) ile uyumlu olmalıdır source\class\class_core.php 113. satır üzerinde

Bunun nedeni PHP sürüm 5.3. Miras sınıfının ana sınıftan sonra tanımlanması gerekir. Aksi takdirde Katı Standartlar olacaktır: PHP Katı Standartlar: .... .... hata uyarısı. Yani, ana sınıf önce gelmelidir, miras sınıf ise daha sonra gelmelidir. bbs\source\class\class_core.php cümlesinin ilk cümlesi değiştirilebilir: error_reporting(E_ALL & ~(E_STRICT |). E_NOTICE)); Deneyin



PHP yazılımı çalıştırırken, benzer bir hata ile karşılaşırsanız, "Strict Standards" bu bir hata değildir, ancak PHP 5.3 önceki sürümlerle çok uyumlu değildir. 5.3 sonrası sürümler için kullanımdan önce bir bildirme gereklidir.
Değişiklik php.ini sorunu çözebilir, ancak aslında bu istisna gösterilmiyor:

Orijinal php.ini
error_reporting = E_ALL | E_STRICT

değiştirildi
error_reporting = E_ALL & ~E_NOTICE





Önceki:Discuz X3.2 yükseltmesinden sonra RSS çıkışındaki bir hata düzeltildi
Önümüzdeki:asp.net jquery veri tablolarının arka planına iletilen parametreleri alın
Yayınlandı 17.12.2016 09:46:32 |
error_reporting() fonksiyonu hangi hatanın bildirileceğini belirler. Bu fonksiyon, mevcut betik için hata raporlama seviyesini belirler. Fonksiyon eski hata raporlama seviyesini döndürür.
Bilmeniz gereken ilk şey, hata seviyesini ayarlamak ve mevcut seviyeyi geri getirmek için error_reporting() fonksiyonunun kullanıldığıdır. 14 hata seviyesi vardır, aşağıdaki gibidir:

1 E_ERROR Ölümcül çalışma zamanı hatası. Hata düzeltilemez. Senaryonun uygulanması askıya alındı
2 E_WARNING Ölümcül olmayan çalışma zamanı hataları. Senaryonun yürütülmesi durmuyor
4 E_PARSE Derleme sırasında ayrıştırmada hata. Ayrıştırma hataları yalnızca analizör tarafından üretilmelidir
8 E_NOTICE çalışma saatleri için bildirim.
16 E_CORE_ERROR PHP başlatmada ölümcül hata. Bu, PHP çekirdeğinde bir E_ERROR gibi
32 E_CORE_WARNING PHP başlatırken ölümcül olmayan hata. Bu, PHP çekirdeğinde bir uyarı E_WARNING gibi
64 E_COMPILE_ERROR Ölümcül derleme zamanı hatası. Bu, Zend script motoruyla bir E_ERROR oluşturmak gibi
128 E_COMPILE_WARNING Zend script motoru tarafından oluşturulan E_WARNING uyarısıyla ölümcül olmayan derleme zamanı hatası
256 E_USER_ERROR ölümcül kullanıcı kaynaklı hatalar.
512 E_USER_WARNING Ölümcül olmayan kullanıcı kaynaklı uyarılar.
1024 E_USER_NOTICE Kullanıcı tarafından oluşturulan bildirimler.
2048 E_STRICT Çalışma Zamanı Bildirimi.
4096 E_RECOVERABLE_ERROR Ölümcül bir hata yakaladı.
8191 E_ALL tüm hatalar ve uyarılar.


Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com