कुछ संकेत:
फाइलसिस्टम केस संवेदनशीलता
यदि आपकी फ़ाइल को HelloWorld.php कहा जाता है:
include "helloworld.php";
विंडोज पर वैध है और काम करेगा। लेकिन लिनक्स फ़ाइल नाम केस संवेदी होते हैं, तो आप कहा जाता फ़ाइलों हो सकता है HelloWorld.php, helloworld.php, hEllOwOrlD.phpएक ही निर्देशिका में। इसलिए आपको विंडोज पर विकसित करना चाहिए जैसे कि आप एक केस सेंसिटिव फाइल सिस्टम पर विकसित कर रहे थे: बिल्कुल सही फाइलनेम, डायरेक्टरी नाम, एक्सटेंशन नाम का उपयोग करें - .phpयह भी अलग है .PHP।
निर्देशिका और पथ विभाजक
विंडोज में हम कहते हैं:
include 'classes\myClass.php';
लेकिन लिनक्स में हम कहेंगे:
include 'classes/myClass.php';
PHP, देखभाल न करने के लिए पर्याप्त स्मार्ट है, दोनों विभाजक दोनों प्रणालियों में काम करते हैं। लेकिन आपको लगातार रहना चाहिए और हर जगह स्लैश (/) के साथ जाना चाहिए क्योंकि यह अधिकांश सिस्टम पर भी आदर्श है। एक निफ्टी पूर्वनिर्धारित स्थिरांक है DIRECTORY_SEPARATOR जो सही एक में अनुवाद करता है, यदि आप उस तक जाना चाहते हैं:
include "classes" . DIRECTORY_SEPARATOR . "myClass.php";
वही पथ विभाजक के लिए जाता है, जो विंडोज पर अर्धविराम है, अन्यथा बृहदान्त्र। तो सुरक्षित होने के लिए आपको करना चाहिए:
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
जब एक पथ विभाजक की जरूरत हो। हालांकि अधिकांश लोग सोचते हैं कि चूंकि PHP यह नहीं मानता कि आप किस विभाजक का उपयोग करते हैं, यह ठीक है, लेकिन एक महत्वपूर्ण पकड़ है: विभाजक सिस्टम विशिष्ट होंगे जब आप निर्देशिका या पथ के लिए सिस्टम पूछेंगे। तो मान लें कि आप शामिल पथ को विस्फोट करना चाहते हैं:
$includePath = get_include_path();
$pathParts = explode(";", $includePath) // Will only work on Windows
$pathParts = explode(":", $includePath) // Will work on other systems but not Windows
$pathParts = explode(PATH_SEPARATOR, $includePath) // Will work everywhere!!!
फ़ाइल एन्कोडिंग और सीमांकक
आपको अपनी IDE को Cp * के बजाय UTF-8 में अपनी सभी स्क्रिप्ट्स के लिए फ़ाइल एन्कोडिंग सेट करने के लिए सेट करना चाहिए, और फ़ाइल लाइन सीमांकक को Unix ( "\n"इसके बजाय "\r\n") में वितरित करना चाहिए । ज्यादातर मामलों में यह वास्तव में मायने नहीं रखता है, लेकिन आपको सुसंगत होना चाहिए और सबसे अच्छा तरीका यूनिक्स तरीका है (जो विंडोज पर ठीक काम करता है, लेकिन इसके विपरीत नहीं)।