php4 در کنار php5 در Apache

بلاگ
PHP

مقدمه

یک روز تصمیم به انتقال پروژه هایم از php4 به php5 گرفتم ، ولی با یک مشکل بزرگ مواجه شدم که مانع از انجام راحت این کار می شد. این مشکل پشتیبانی از پروژه های قبلی بود که هر چند وقتی نیاز به اصلاح داشتند (از دست این overload ها) و در عین حال هیچ کدام از کار فرماها هم تمایلی به پرداخت هزینه انتقال سایتشان به php5 نداشتند و ندارند!!(حالا بیا و درستش کن). در نتیجه نیاز بود که php5 و php4 در کنار هم کار کنند. برای سهولت کار ، wamp5 را download کردم تا apache و mysql و php5 را نصب کنم. بعد از نصب گشتی در اینترنت زدم تا راه حلی برای نصب php4 در کنار php5 پیدا کنم و به این لینک بر خوردم.
 این مقاله نصب php5 را در کنار php4 آموزش می دهد در حالی که من می خواستم php4 را در کنار php5 نصب کنم! پس با کمک این مقاله و کمی تغییر به نتیجه مطلوب رسیدم.

مواد لازم

قبل از مطالعه ادامه مطلب لازم است نسخه php4.3.9 win32 و یا پایین تر و همچنین wamp5 را download کنید.

روش پخت

  1. wamp را نصب کنید (نصب wamp بسیار راحت است و گمان نمی کنم نیازی به توضیح داشته باشد. البته اگر php5 را از قبل نصب کرده اید و یا حوصله و وقت نصب php5 و apache را به صورت دستی دارید می توانید از نصب wamp صرف نظر کنید).

  2.  حال فایل zip که download کردید و حاوی نسخه binary از php4 است را باز کرده و در محلی که مورد نظرتان است unzip کنید. مثلا c:\program files\php4

  3. برای اینکه 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\"

  4. به پوشه ای که در آن 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>

  5. تنها قسمتی که در بند قبل باید تغییر دهید مسیر فایل php.exe است که در کادر بالا با رنگ قرمز مشخص شده است. کافی است آدرس پوشه ای که php4 را در آن unzip کرده بودید ، به جای متن قرمز قرار دهید.

  6. حال apache را restart کنید.

نحوه مصرف

  1. مزیتی که این روش دارد ، تفکیک 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