Saya sudah mulai menjalankan Drupal 7 di PHP 5.4 sendiri dengan hanya masalah kecil dalam bentuk pemberitahuan dan peringatan.
Di atas 7.12, Anda perlu dua tambalan ini untuk memperbaiki masalah yang menyebabkan PHP mengeluh:
http://drupal.org/files/menu-link-save-1338282-15-d7.patch
http://drupal.org/files/database-query-clone-1414412-11-d7_0.patch
Salah satu dari tambalan ini telah diterapkan ke -dev, sehingga akan berada di 7.13, dan yang lainnya kemungkinan akan segera muncul. Dalam semua kasus yang bisa langsung saya pikirkan, praktik buruk yang menyebabkan 5,4 peringatan adalah penggunaan kunci array yang buruk.
Versi pertama ini terlihat seperti ini:
$some_key = function_call();
return $some_array[$some_key];
Beberapa kali, pemanggilan fungsi akan mengembalikan array atau objek, yang keduanya bukan merupakan kunci array yang valid. Di PHP 5.3, apa yang sebenarnya terjadi dan secara diam-diam tampak seperti ini:
$some_key = function_call();
return $some_array[(string)$some_key];
Namun PHP 5.4, memperingatkan bahwa ini mungkin bukan yang Anda inginkan. Versi kedua persis sama, tetapi sebaliknya.
$some_key = 'a_valid_key';
$may_be_a_string = function_call();
return $may_be_a_string[$some_key];
yang menghasilkan pesan kesalahan seperti
String ilegal mengimbangi 'a_valid_key'
kapan pun $may_be_a_string
sebenarnya string, bukan array, karena satu-satunya indeks string yang valid adalah bilangan bulat.
Karena masalahnya mudah dimengerti dan perbaikannya (kebanyakan) mudah diterapkan, saya menemukan bahwa dalam beberapa kasus, -dev versi sudah diperbarui, atau tambalan yang diposting dalam antrian, yang cenderung cepat masuk karena sifat sederhana mereka.
Setelah beberapa pengujian, saya merasa 5.4 tidak "berbahaya" untuk dijalankan dalam produksi, dan saya sudah mulai menjalankan situs kecil dan pribadi saya di situ. Saya akan mendorong orang lain untuk melakukan hal yang sama, sehingga kita dapat menghindari lambatnya pengambilan versi PHP baru.
Pada saat penulisan, versi terbaru APC, 3.1.9, tidak berfungsi dengan 5.4. Saya telah berhasil membangun dan menggunakannya dari git.
Menggunakan APC kemungkinan akan mengurangi manfaat kinerja dari peningkatan versi PHP, tetapi tidak menghapusnya.