Daha önce karşılaştığım sorun, nasıl çözüleceği konusunda çok üzüldüm ve şimdi sonunda bir çözüm buldum, şimdi sizinle paylaşacağım, sorun şöyle: Sıkı Standartlar: Yalnızca değişkenler upload\includes\cls_template.php sayfasında referans yoluyla iletilmeli, 418 satırda Satır 418: $tag_sel = array_shift(patlama(' ', $tag));
Çözüm 1: 5.3 ve üzeri sürümlerdeki sorun da yapılandırmayla ilgili olmalıdır. 418. satır bu cümleyi iki cükle bölüyorsa, sorun yoktur $tag_sel = array_shift(explode(' ', $tag)); Değiştirildi:
$tag_arr = patlama(' ', $tag); $tag_sel = array_shift($tag_arr); array_shift parametreleri referans yoluyla iletildiğinden, sadece belirli değişkenler varsayılan olarak 5.3 üzerindeki olarak iletilebilir ve değer fonksiyon aracılığıyla geri döndürülemez Aynı şekilde, fonksiyon iç içe hatalarla karşılaşıldığında, bunlar ayrı yazılabilir ve hatalar doğal olarak çözülür
Gibi: fonksiyon get_dyna_libs($theme, $tmp)
{ $extsub = patlama('.', $tmp); $ext = end($extsub); $tmp = temel adı($tmp,".$ext"); $sql = 'BÖLGE, kütüphane, sort_order, id, sayı, tip' . 'DEN' . $GLOBALS['ecs']->table('şablon') . " WHERE tema = '$theme' VE dosya adı = '" . $tmp. "' VE > 0 VE yorumlar='' yaz. 'Bölgeye göre SİRĞA, kütüphane, sort_order'; $res = $GLOBALS['db']->getAll($sql); $dyna_libs = array(); foreach ($res AS $row)
{ $dyna_libs[$row['region']][$row['library']][] = array( 'id' => $row['id'], 'number' => $row['number'], 'type' => $row['type'] );
} return $dyna_libs;
}
$ext = son(patlama('.', $tmp)); Değişim $extsub = patlama('.', $tmp); $ext = end($extsub);
Çözüm 2 (Maskeleme Hatası):
Ya da böyle yapılandırılırsa: error_reporting = E_ALL | E_STRICT Aşağıdaki ayarlar php.ini mevcuttur: error_reporting = E_ALL | E_STRICT
Bu, kodlama standartları uyarılarının gösterildiği anlamına gelir. Joomla aslında hata çıkışını iptal etmeyi öneriyor, hata giderme için gerekirse bu durum değiştirilmelidir error_reporting = E_ALL & ~E_NOTICE
Sorun çözüldü. |