PHP 5.4 ve Drupal 7


31

PHP 5.4'ün PHP 5.3'ten daha hızlı olduğunu duydum.

Drupal 7'nin 5.4'ün altında çalışması uygun olur mu yoksa katkıda bulunan çeşitli modüller siteyi kırmaya başlayabilir mi?

Neyse, APC opcode önbellek kullanırsam, belki 5.4, hiç fayda sağlamaz mı?

Teşekkürler

Yanıtlar:


28

Drupal 7'yi PHP 5.4'te, bildirimler ve uyarılar biçiminde yalnızca küçük sorunlarla kendim çalıştırmaya başladım.

7.12'nin üstünde, PHP'nin şikayet etmesine neden olan sorunları çözmek için bu iki yamaya ihtiyacınız olacak:

http://drupal.org/files/menu-link-save-1338282-15-d7.patch

http://drupal.org/files/database-query-clone-1414412-11-d7_0.patch

Bu yamalardan biri -dev'e zaten uygulanmış, yani 7.13'te olacak ve diğeri yakında girecek. Hemen düşünebildiğim her durumda, 5.4 uyarısına neden olan kötü uygulama, dizi tuşlarının kötü kullanımıdır.

Bunun ilk versiyonu şuna benziyor:

$some_key = function_call();
return $some_array[$some_key];

Bazı durumlarda, işlev çağrısı, hiçbiri geçerli bir dizi anahtarı olmayan bir dizi veya nesne döndürür. PHP 5.3'te gerçekte ve sessizce olan şey şuna benzer:

$some_key = function_call();
return $some_array[(string)$some_key];

Ancak PHP 5.4, isteğinizin bu olmayabileceği konusunda uyarıyor. İkinci versiyon tamamen aynı, ancak tersi.

$some_key = 'a_valid_key';
$may_be_a_string = function_call();
return $may_be_a_string[$some_key];

hangi gibi bir hata mesajı verir

Geçersiz dize ofset 'a_valid_key'

her ne zaman $may_be_a_stringgerçekte bir dize , bir dizi değil, yalnızca geçerli dize dizinleri tamsayıdır.

Sorunların anlaşılması ve düzeltmenin (çoğunlukla) uygulanması kolay olduğu için, bazı durumlarda, -dev sürümlerinin zaten güncellendiğini ya da kuyrukta yayınlanan yamanın hızlı bir şekilde yaşanması muhtemel olduğunu gördüm. basit doğaları.

Bazı testlerden sonra, 5.4'ün üretimde çalıştırmak için "tehlikeli" olduğunu düşünmüyorum ve zaten küçük ve kişisel sitelerimi çalıştırmaya başladım. Başkalarını da aynısını yapmaya teşvik ediyorum, böylece yeni PHP sürümlerinin tarihsel olarak yavaş alımını önleyebiliriz.

Yazılı, APC'ler son sürümü, 3.1.9 zamanında, değil 5.4 ile . Başarıyla yaptım ve onu kullandım.

APC kullanımı büyük olasılıkla PHP sürümünü yükseltmenin performans yararını azaltacaktır, ancak kaldırmayacaktır.


+1 Bunu merak ediyorum. Drupal'da genel olarak 5.3'ten 5.4'e kadar olan performans artışı fark ettiniz mi? Şimdiye kadarki deneyimleriniz hakkında biraz daha bilgi vermek sorun olmazsa, cevabın üzerine bir ödül almaktan memnuniyet duyarım :)
Clive

Birkaç kelimeyle APC'ye sahip olmak, belki de hız değerinde önemli bir artış olabileceği dışında, bu durum sorun değil.
john

@Clive, henüz bir süredir niyetlenmeme rağmen performans ölçümleri yapmam gerekiyor. Özellikle merak ettiğiniz bir şey var mı? :)
Letharion

Sırala, evet :) 5.4'e yükseltme düşüncesiyle oynuyorum ama yaptığım her şey Drupal gibi görünüyor ki bugünlerde hayatımı çok daha zor hale getirmeyeceğinden emin olmam gerekiyor. Site başına birkaç modül eklemeye razıyım ancak yakında bakımı zorlaşacağı için endişeleniyorum ve üretim sunucularımız hala 5.3'te olduğundan, herhangi bir soruna yol açıp açmayacağından emin değilim. Bu tür bir şey hakkında yaptığınız herhangi bir yorum veya “kötü uygulamaların” ne olduğu hakkında genellikle bilgi veren (kendi modüllerimin iyi olduğundan emin olmak için) uyarılar büyük bir yardım olacaktır. :)
Clive

Cevabımı elimden geleni yaptım. :) 5.3'ü kurdum, böylece kolayca geri dönebiliyorum ve performans testi yapabiliyorum. Umarım kazandığımda buraya geri döneceğimi hatırlayacağım.
Letharion

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.