Old:PHP Downgrade from 5.2.3 to 4.4.8

From The Uniform Server Wiki
Revision as of 21:35, 21 June 2013 by BobS (talk | contribs) (BobS moved page PHP Downgrade from 5.2.3 to 4.4.8 to Old:PHP Downgrade from 5.2.3 to 4.4.8 without leaving a redirect)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This applies only to The Uniform Server 3.5-Apollo.
PHP Downgrade from 5.2.3 to 4.4.8

PHP version 4 is no longer supported. The only reason for downgrading is to match your service provider's version of PHP. They, in turn, should be requesting that you upgrade to version 5.

A) Download PHP 4.4.8

Download the full version of PHP 4.4.8

  1. Create a new folder named c:\php448 (alternatively save the file to any folder)
  2. Download and save the following file into the above folder:
  1. Goto: PHP Downloads
  2. Scroll down the page to: Windows Binaries
  3. Download this file: PHP 4.4.8 zip package [8,434Kb] - 12 Feb 2008
    md5: 09ffff4b1a54bbadb8fee6acd85a2c1f
  1. Right click on file and select Extract All, click NEXT (no need to change path), click NEXT again.

B) Install

Start with a clean version of Uniform Server 3.5-Apollo and install PHP 4.4.8 as follows:

  1. Extract a new copy of Uniform Server to C drive (alternatively you can use any folder or drive)
  2. Start and stop the servers. Make sure they work and train any security software.
  3. Backup php.ini:
  1. Copy php.ini from C:\Uniform Server\udrive\usr\local\php to C:\Uniform Server
  1. Install PHP 4.4.8:
  1. Delete the contents of folder C:\Uniform Server\udrive\usr\local\php
  2. Copy the contents of folder C:\php448\php-4.4.8-Win32\php-4.4.8-Win32
    To folder: C:\Uniform Server\udrive\usr\local\php
  3. Copy php4apache2.dll from: C:\Uniform Server\udrive\usr\local\php\sapi
    To folder: C:\Uniform Server\udrive\usr\local\php
  4. Copy iconv.dll from: C:\Uniform Server\udrive\usr\local\php\dlls
    To folder: C:\Uniform Server\udrive\usr\local\php
  5. Copy libmysql.dll from: C:\Uniform Server\udrive\usr\local\php\dlls
    To folder: C:\Uniform Server\udrive\usr\local\php
  1. Restore php.ini: Copy php.ini from C:\Uniform Server to C:\Uniform Server\udrive\usr\local\phpSave the file to any folder.

C) Edit php.ini

Using a text editor, open php.ini located in folder C:\Uniform Server\udrive\usr\local\php and change the following:

  1. Locate the line: ;extension=php_iconv.dll and change to extension=php_iconv.dll
  2. Locate the line: extension=php_mysql.dll and change to ;extension=php_mysql.dll
  3. Locate the line: extension=php_mysqli.dll and change to ;extension=php_mysqli.dll
  4. Locate the line: extension=php_pdo.dll and change to ;extension=php_pdo.dll
  5. Locate the line: extension=php_sqlite.dll and change to ;extension=php_sqlite.dll

D) Edit httpd.conf

Open httpd.conf located in folder C:\Uniform Server\udrive\usr\local\apache2\conf

Locate the line: LoadModule php5_module "/usr/local/php/php5apache2.dll"
Change to:       LoadModule php4_module "/usr/local/php/php4apache2.dll"

E) Edit phpMyAdmin

Edit the phpMyAdmin file: config.inc.php located in folder: C:\Uniform Server\udrive\home\admin\www\phpMyAdmin

 Locate the line: $cfg['Servers'][$i]['extension'] = 'mysqli';
 Change to:       $cfg['Servers'][$i]['extension'] = 'mysql';

F) Edit my-small

Edit my-small Located in folder: C:\Uniform Server\udrive\usr\local\mysql\bin

  Under this line port=3306 add the following two new lines:

  #Use old password encryption method (needed for 4.0 and older clients).
  old_passwords=1

G) Test - Expected error

Restart the servers. From apanel click on phpinfo() and check that PHP 4.4.8 info is displayed.

Now click phpMyAdmin (left menu) the following error is expected:

#1251 - mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client”

Reason:

PHP4 uses short password hashes as opposed to PHP5’s long ones. Anyway it shows PHP4 is working and phpMyAdmin.

To correct the above do not turn the servers off and follow these instructions:

  1. Open a command prompt (start > run > type cmd and press OK)
  2. Type the following and press return at the end of every line:
     W:
     Cd usr\local\mysql\bin
     mysql -u root –p
  1. When requested enter the password root
  2. You are now at the MySQL command prompt. Type the following and press return:

    SET PASSWORD FOR 'root'@'localhost' =OLD_PASSWORD('root');

    Query OK indicates you have created a short password hash.
  1. Close the command prompt window (top right cross).
  2. Restart the servers; check you can access MySQL using phpMyAdmin.

You will need to update phpMyBackupPro:

  1. From apanel run phpMyBackupPro
  2. Login as root root,
  3. Select the configuration tab:
    Change the MySQL password to root
    Finally click Save Data

That completes the downgrade.


Ric