ثانيا تهيئه بيئه الـphp لكي تناسب احتياجات العملاء
لقد ذكرنا من قبل ان بعض خيارات الـphp قد لا تناسب سكربتات العملاء على السيرفر ولذلك يجب تغييرها وهنا سنتعلم معا كيفيه تغييرها لكل موقع على حده بمعنى,,, لو طلب منك احد العملاء ان تفعل الـregister_globals لموقعة سوف تقوم بتفعيله لملفات موقعه فقط بدون الحاجة لتفعيلة على السيرفر بأكمل ويجدر بي هنا ان اذكر ان هنالك قيمتين لخيارات ملف php.ini واحده تكون local value وهي للموقع فقط والثانية تكون Master value وهي قيمه الخيار للسيرفر بأكمله ويمكنك معرفه كل ذلك بوضع الملف التالي في احد المواقع وطلبه عن طريق المتصفح
((سوف نتفق على كلمه "تخصيص" على ان تعني تعديل الخيار او تخصيصه لموقع معين))
((نقصد بالخيارات القيم الموجوده بداخل ملف php.ini كالـsafe_mode على سبيل المثال))
تنقسم الخيارات الموجوده بداخل ملف php.ini الى عده اقسام وهي:
PHP_INI_USER : ويمكننا تخصيصها من الرجستري في حاله سيرفرات الوندوز.
PHP_INI_PERDIR : ويمكننا تخصيصها بواسطة ملف .htaccess يوضع بداخل مجلد السكربت او الموقع ويمكننا التعديل عليها ايضا عن طريق ملف httpd.conf
PHP_INI_SYSTEM : ويمكننا تخصيصها عن طريق ملف httpd.conf فقط
PHP_INI_ALL : يمكننا تخصيصها عن طريق كل ما سبق
((لاحظ ان القيم الاساسيه او الـMaster value نحددها عن طريق ملف php.ini))
ويمكنك معرفه الخيار والى اي قسم ينتمي عن طريق الوصله التالية
http://www.php.net/manual/en/ini.php
ويتم اعطاء القيم بشكلين مختلفين
On او Off عن طريق php_flag
اي سلسه قيم او مسار عن طريق php_value
بفرض انه بأمكانك تخصيص الخيار عن طريق ملف .htaccess
يمكنك عمل ملف .htaccess عادي في موقعك واضافه التالي الية
كود:
php_flag register_globals on
وهنا سوف يكون الـlocal value او القيمه المحلية للخيار register_globals بحالة On بالنسبه لملفات موقعك
وان كان الخيار لا يمكن تخصيصه الا من ملف httpd.conf كالـsafe_mod على سبيل المثال حيث انه يقع ضمن قسم PHP_INI_SYSTEM اللتي لا يمكن تخصيصها الا من ملف httpd.conf
فقم بالتعديل على ملف httpd.conf بالمسار
كود:
/usr/local/apache/conf
بواسطة المحرر peco او nano وابحث عن عنوان الموقع username.com
وتأكد ان كل ما تقوم بكتابته يقع ضمن نطاق اعدادات الموقع
وسوف يكون بالشكل التالي على فرض ان الموقع هو
www.oman-web.com واسم المستخدم هو omanweb
كود:
<VirtualHost 208.101.28.63>
ServerAlias www.oman-web.com
ServerAdmin webmaster@oman-web.com
DocumentRoot /home/omanweb/public_html/
BytesLog domlogs/oman-web.com-bytes_log
ServerName oman-web.com
<IfModule mod_php4.c>
php_admin_value open_basedir "/home/omanweb:/usr/lib/php:/usr/local/lib/php:/tmp"
php_admin_flag register_globals on
php_admin_value disable_functions none
</IfModule>
<IfModule mod_php5.c>
php_admin_value open_basedir "/home/omanweb:/usr/lib/php:/usr/local/lib/php:/tmp"
</IfModule>
User omanweb
Group omanweb
CustomLog /usr/local/apache/domlogs/oman-web.com combined
ScriptAlias /cgi-bin/ /home/omanweb/public_html/host/cgi-bin/
</VirtualHost>
تأكد انك تقوم بالتعديل بين كل من
كود:
<VirtualHost 208.101.28.63>
..............................
..............................
....................
</VirtualHost>
وسنخصص على حسب اصداره الphp لدينا فأن كانت 4
نعدل بين
كود:
<IfModule mod_php4.c>
..................................
..............................
........................
</IfModule>
وان كنا نستخدم الاصداره الخامسة
كود:
<IfModule mod_php5.c>
...............................
...........................
........................
</IfModule>
-------------------------------
ويكون التعديل كالتالي
php_admin_flag لأي قيمه On او Off
و
php_admin_value لأي سلسه من القيم او مسار ملفات
وطبعا من الممكن ان تكون القيمه none كالمثال بالاعلى
كود:
php_admin_value disable_functions none
او
كود:
php_admin_value open_basedir "/home/omanweb:/usr/lib/php:/usr/local/lib/php:/tmp"
وتأكد من كتابتها بنفس الطريقه الموضحة
بالنهاية ارجوا ان تعلم اخي القاريء ان الدرس جاء خلاصه لتجارب وقرائات عديدة في مده ليسة ببسيطة فالرجاء نشره مع حفظ حقوق الكاتب وارجوا المعذره عن اي تقصير فني او لغوي من تجاهي
كل الشكر للأخوة في عمان وب للمساهمه بأنجاح الدرس
بالتوفيق
كل الحقوق محفوظه لـ Oman-Webــ 13/8/2006