Відповіді:
Я почав запускати Drupal 7 на PHP 5.4 сам, маючи лише незначні проблеми у вигляді повідомлень та попереджень.
Зверху до 7.12 вам знадобляться ці два виправлення, щоб виправити проблеми, через які PHP скаржиться:
http://drupal.org/files/menu-link-save-1338282-15-d7.patch
http://drupal.org/files/database-query-clone-1414412-11-d7_0.patch
Один з цих патчів уже застосований до -dev, тому він буде в 7.13, а інший, швидше за все, незабаром. У всіх випадках, про які я можу відразу придумати, погана практика, що спричиняє попередження 5.4, - це неправильне використання клавіш масиву.
Перша версія цього виглядає приблизно так:
$some_key = function_call();
return $some_array[$some_key];
Інколи виклик функції повертає масив або об'єкт, жоден з яких не є дійсним ключем масиву. У PHP 5.3 те, що насправді і мовчки відбувається, виглядає приблизно так:
$some_key = function_call();
return $some_array[(string)$some_key];
PHP 5.4, однак, попереджає, що це може бути не тим, чого ви хочете. Друга версія точно така ж, але навпаки.
$some_key = 'a_valid_key';
$may_be_a_string = function_call();
return $may_be_a_string[$some_key];
яке видає повідомлення про помилку типу
Незаконне зміщення рядка "a_valid_key"
коли завгодно $may_be_a_string
це насправді рядок, а не масив, оскільки єдиними дійсними рядковими індексами є цілі числа.
Оскільки проблеми легко зрозуміти, і виправити їх (в основному) легко, застосував, я виявив, що в декількох випадках версії -dev вже оновлюються, або патчі розміщуються в черзі, які, швидше за все, швидко заходять через їхня проста природа.
Після деяких тестувань я не відчуваю, що 5.4 є "небезпечним" для запуску у виробництво, і я вже почав запускати свої маленькі та особисті сайти на ньому. Я б закликав інших робити те ж саме, щоб ми могли уникнути повільного використання нових версій PHP.
На момент написання версії APC, остання версія 3.1.9, не працює з 5.4. Я успішно будував і використовував його з git, хоча.
Використання APC, ймовірно, зменшить перевагу продуктивності оновлення версії PHP, але не видалить її.
Вам слід уникати PHP 5.4, оскільки для нього немає стабільного APC. Виконання для PHP 5.3 + APC було б більше 5,4.