php4 در کنار php5 در Apache
مقدمه
یک روز تصمیم به انتقال پروژه هایم از php4
به php5 گرفتم ، ولی با یک مشکل بزرگ مواجه
شدم که مانع از انجام راحت این کار می شد. این مشکل پشتیبانی از پروژه های قبلی
بود که هر چند وقتی نیاز به اصلاح داشتند (از دست این overload
ها) و در عین حال هیچ کدام از کار فرماها هم تمایلی به
پرداخت هزینه انتقال سایتشان به php5 نداشتند و ندارند!!(حالا بیا و
درستش کن). در نتیجه
نیاز بود که php5 و php4 در کنار هم
کار کنند. برای سهولت کار ، wamp5 را download
کردم تا apache و mysql
و php5 را نصب کنم. بعد از نصب گشتی در
اینترنت زدم تا راه حلی برای نصب php4 در کنار php5
پیدا کنم و به این
لینک بر خوردم.
این مقاله نصب php5 را در کنار
php4 آموزش می دهد در حالی که من می خواستم php4
را در کنار php5 نصب کنم! پس با کمک این
مقاله و کمی تغییر به نتیجه مطلوب رسیدم.
مواد لازم
قبل از مطالعه ادامه مطلب لازم است نسخه php4.3.9 win32 و یا پایین تر و همچنین wamp5 را download کنید.
روش پخت
-
wamp را نصب کنید (نصب wamp بسیار راحت است و گمان نمی کنم نیازی به توضیح داشته باشد. البته اگر php5 را از قبل نصب کرده اید و یا حوصله و وقت نصب php5 و apache را به صورت دستی دارید می توانید از نصب wamp صرف نظر کنید).
-
حال فایل zip که download کردید و حاوی نسخه binary از php4 است را باز کرده و در محلی که مورد نظرتان است unzip کنید. مثلا c:\program files\php4
-
برای اینکه php4 به درستی کار کند ، باید php.ini را کمی تغییر دهید. اگر نسخه compile شده 4.3.9 php را همانطور که در قسمت "مواد لازم" اشاره کردم download کرده باشید. تغییرات مورد نیاز به صورت زیر هستند :
-
به محل نصب php4 بروید "c:\program files\php4" ، از فایل "php.ini-dist" یک copy تهیه کرده و نام آن را "php.ini" بگذارید.
-
"php.ini" ساخته شده را با notepad باز کنید و عبارت "extension_dir" را در آن جستجو کنید. پس از آن که عبارت مورد نظر را یافتید آدرس آن را به محل پوشه php4 خود تغییر دهید. مثلا "c:\program files\php4\extensions\"
-
-
به پوشه ای که در آن apache را نصب کرده اید بروید (اگر از wamp برای نصب استفاده کرده باشید ، باید به پوشه wamp بروید) و در پوشه config ، فایل http.config را باز کنید (مثلا c:\program files\wamp\Apache\conf\httpd.conf) و به انتهای آن متن داخل کادر را که در زیر قرار دارد اضافه کنید :
<Virtualhost _default_:83>
ServerName localhost
ServerAdmin me@localhost
DirectoryIndex index.html index.php
ErrorLog logs/error.log
# http://httpd.apache.org/docs-2.1/mod/core.html.en#limit
<Location />
<Limit CONNECT>
Order allow,deny
Allow from all
</Limit>
</Location>
DocumentRoot "E:/Programing/MyWebSites/"
ScriptAlias /cgi-bin/ "E:/Programs/Instaled Programs/wamp/php4/"
Action php4-script /cgi-bin/php.exe
AddHandler php4-script .php .html
</Virtualhost> -
تنها قسمتی که در بند قبل باید تغییر دهید مسیر فایل php.exe است که در کادر بالا با رنگ قرمز مشخص شده است. کافی است آدرس پوشه ای که php4 را در آن unzip کرده بودید ، به جای متن قرمز قرار دهید.
-
حال apache را restart کنید.
نحوه مصرف
-
مزیتی که این روش دارد ، تفکیک php5 و php4 است! اگر شما سایت خودتان را که بر روی localhost قرار دارد به صورت مثلا "http://127.0.0.1/MyWebSites/test.php" فرا خوانی کنید ، "test.php" با php5 تفسیر می شود. اما اگر به صورت "http://127.0.0.1:83/MyWebSites/test.php" فرا خوانی کنید با php4 تفسیر می شود (چه باحال).
سر انجام
با اینکه روی دستگاه خودم تست کردم ولی اگر کم و کاستی بود ، من گوش به زنگم.
منبع دیگر
http://www.schlitt.info/applications/blog/archives/83_How_to_run_PHP4_and_PHP_5_prallel.html
- برای ارسال نظرات وارد شوید
نظرات
salam agha dastet dard
salam agha dastet dard nakone man az php5 simple_xml ro mikhastam az php4 form hash ro ;) khoshhalam az inke ham phpi peyda kardam:D