जवाबों:
मैंने PHP 5.4 पर खुद को नोटिस और चेतावनियों के रूप में केवल मामूली समस्याओं के साथ Drupal 7 चलाना शुरू कर दिया है।
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
इनमें से एक पैच पहले ही -देव पर लागू हो चुका है, इसलिए 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
वास्तव में एक स्ट्रिंग होती है, तो कोई सरणी नहीं, क्योंकि एकमात्र मान्य स्ट्रिंग इंडेक्स पूर्णांक होते हैं।
जैसा कि समस्याओं को समझना आसान है और फिक्स (ज्यादातर) लागू करना आसान है, मैंने पाया है कि कई मामलों में, -देव संस्करण पहले से ही अपडेट किए गए हैं, या कतार में पोस्ट किए गए पैच हैं, जिनके कारण जल्दी से जाने की संभावना है उनका सरल स्वभाव।
कुछ परीक्षण के बाद, मुझे ऐसा नहीं लगता है कि 5.4 उत्पादन में चलने के लिए "खतरनाक" है, और मैंने पहले ही इस पर अपनी छोटी और व्यक्तिगत साइटें चलाना शुरू कर दिया है। मैं अन्य को भी ऐसा करने के लिए प्रोत्साहित करूंगा, ताकि हम नए PHP संस्करणों के ऐतिहासिक रूप से धीमी गति से आगे बढ़ने से बच सकें।
लेखन के समय, APCs नवीनतम संस्करण, 3.1.9, 5.4 के साथ काम नहीं करता है । मैं सफलतापूर्वक बनाया है और हालांकि यह git से इस्तेमाल किया।
APC का उपयोग करने से संभवतः PHP संस्करण को अपग्रेड करने के प्रदर्शन लाभ में कमी आएगी, लेकिन इसे हटाएं नहीं।
आपको PHP 5.4 से बचना चाहिए क्योंकि इसके लिए कोई स्थिर APC नहीं है। PHP 5.3 + APC के लिए प्रदर्शन 5.4 से अधिक होगा।