PHP INFO

بسم الله الرحمن الرحيم ....

سنتلكم اليوم حول بعض المعلومات حول ال PHP ...
هناك أسئلة تسئل عن كيفية معرفة اصدار ال PHP, وكيف يمكنني معرفة بعض الأمور التي تخص السيرفر,وأين يمكن أن أجد ال configuration file , وما هو اصدار ال JSON الذي يدعمه ال PHP في هذا الاصدار, وهل هو Enabled أم لا.. أيضا كيف يمكنني أن أعلم ما هي الاضافات التي اضيفت الى هذا الصدار, ما هي مزاياه, وما هي النقاط التي تم حذفها من هذا الاصدار .... كيف يمكنني تحديث أو تطوير موقع من اصدار الى اصدار ...

سنحاول بإذن الله تعالى ...الإجابة عن هذه الأسئلة ... لنبدأ معا 

أولا: لمعرفة الخصائص أو الأمور التي تتعلق بال PHP هناك دالة اسمها phpinfo() ... 
قم بوضع هذه الدالة داخل كود PHP ... ومن ثم قم بعمل تنفيذ لهذه الصفحة , إن الذي ستراه بالصفحة هو مجموعة من المعلومات مقسمة على شكل جداول منفصلة, لكل منها عنوان ..فمنها ما هو للسيرفر ومنها ما هو لقاعدة البيانات ....الخ, والآن لنذهب ونرى بعض المعلومات المهمة والتي قد تساعدنا في التعامل مع PHP ...
1) يمكنني معرفة اصدار ال PHP مباشرة من ال header ..فستجد أنه مكتوب مثلا PHP version 5.4.3 ... أو يمكنك البحث عن ال Core وستجد بداخله PHP version x.x.x ...وهكذا نكون استطعنا معرفة الاصدار الخاص بال PHP والذي نعمل عليه ..

2) يمكنني معرفة ملف ال configration file الي بنعملوا تحميل بمجرد البحث عن Loaded configration file ...ستجد هنا امتداد الملف و اسمه مثل:
F:\wamp\file\bin\apache\apache2.2.22\bin\php.ini

3) يمكنني معرفة السيرفر API ... عن طريق البحث عن Server API ..مثلا:
Apache 2.0 Handler لأني مستخدم لل Apache ... طبعا ال PHP تستخدم ال SAPI وهو SERVER APPLICATION PROGRAMING INTERFACE ...

4) يمكنني أيضا معرفة الصدار الخاص بالسيفرفر عن طريق البحث عن Apache Version ..مثل:
Apache/2.2.22 (Win32) PHP/5.4.3 

5) يمكنني معرفة أيضا المعلومات الخاصة بمدير النظام عن طريق البحث عن Server Administrator مثل: 
admin@localhost

6) يمكنني معرفة ال PORT المستخدم عن طريق البحث عن Hostname:Port ... مثل:
localhost:80 ...
ملاحظة: البورت رقم 80 هو البورت الافتراضي لذلك لو لم تقم بوضع الرقم 80 عند كتابتك ل localhost فسيعمل بالشكل الصحيح ..بينما لو كان ال PORT 8080 كمثال ...فإنه يجب عليك أن تضع localhost:8080 ...

7) يمكنني أيضا معرفة المعلومات حول ال HTTP header ..مثل نوع ال request وال اللغة الحالية والترميز مثل utf-8... الخ ...ستجد جميع هذه العملومات تحت خانة 
HTTP Headers Information

8) يمكنك معرفة ال SMTP وال SMTP PORT ... عن طريق البحث عن كلمة SMTP أو SMTP PORT ضمن خانة ال Core ... 

9) اذا أردت معرفة اصدار ال JSON وهل هو متاح الاستخدام أم لا ..يمكنك البحث عن الخانة JSON ... 

هذه معلومات مهمة يمكنك الحصول عليها ... بالاضفة الى كثير من المعلومات التي لم نذكرها وهي مهمة جدا ..يمكنك البحث عنها والتعلم ...واكتشاف المزيد ^____________^

ثانيا: كيف يمكنني معرفة ما هي الاضافات التي تم اضافتها الى هذا الاصدار, وما هي الأمور التي حذفت ... ؟ 
ان المرجع الأساسي لنا كمطورين لل PHP هو موقع PHP.net ...ويحتوي على جميع المعلومات التي تتكلم عن هذا المجال ...انظر هذا الرابط ..
http://www.php.net/manual/en/appendices.php

اذا نظرت الى هذا الرابط ستجد مجموعة من العناويين والعناووين الفرعية, لو ذهب الى العنوان Migrating from PHP 5.3.x to PHP 5.4.x ستجد مجموعة من العناوين الفرعية ...-وهي التي تتكرر في الغالب ضمن هذا الفرع وهو الاصدارات قد تنقص او تزيد - من هذه العناوين الفرعية 
What has changed in PHP 5.4.x ما هو الشيئ الذي تغيير في هذا الاصدار
Backward Incompatible Changes الأمور الغير توافقية مع هذه التحديثات أو أنها لن تدعمها طويلا ...
New features السمات التي أضيفت جديدا 
Changes in SAPI modules تكلمنا عن هذه النقطة في ال PHP.info ... وهنا يذكر ما هي التغييرات التي ستطرأ علىيها مثل اضافة module جديد
Deprecated features in PHP 5.4.x أمور أهملت في هذا الاصدار
Changed Functions التعديلات التي حصلت على بعض ال function 
New Functions ال functions الجديدة 
New Classes and Interfaces الكلاس الجديدة وال interface 
New Methods الميثود الجديدة
Removed Extensions حذف بعض الملحقات مثل حذف sqlite, وهنا العملية تكون على شكل نقل هذا الملحق الى PECL ... 
Changes to INI file handling التعديلات التي حدثت على مستوى ملف ال configuration ... مثل حذف define_syslog_variables واضافة مثلا enable_post_data_reading -هذا الأمر اذا وضع disabled فإنه لن تقرأ أو تعالج ال POST في الموقع , 

ثالثا: كيف يمكنني تحديث أو تطوير الموقع من اصدار الى اصدار آخر ...
لهذه النقطة أمور كثيرة يجب مراعاتها ... لاحظ أنني ذكرت أولا كيف يمكنني معرفة المعلومات التي تخص كل اصدار من ال PHP , وثانيا ذكرت كيف يمكنني الاطلاع على المعلومات بين كل اصدار ...علي معرفة هل سيبقى متوافق مع السيرفر أم لا انتبه لل SAPI, يجب عليه الانتباه الى جميع الامور التي تم حذفها من الاصدار الذي كنت أستخدمه ..ومن ثم علي القيام باستبدالها .. 
ومن ثم حسب نظام التشغيل يمكنك تطوير الاصدار ....يمكنك البحث عن ذلك ..

بالنسبة لي اذا احتجت للانتقال ..وكان هناك تفييرات كثيرة حصلت ومهمة ...أقوم بتحميل النسخة الجديدة من ال PHP ..وأقوم بوضع المشروع القديم بداخلها ... وكل ما يبقى علي حينها هو تبديل الميثود أو الفانكشن التي تم استبدالها ..

بعتذر عن الاطالة .... ^__^

التوفيق للجميع ان شاء الله  ..
**) غن أصبنا فهذا بفضل من الله ... وإن أخطئنا فمن انفسنا .... 

 أخوكم أنيس أبو حميد