PHP

 
 
PHP (= Hypertext Preprocessor) is an HTML-embedded server-side scripting language.

PHP is distributed at no charge for commercial or non-commercial use. For more information read the LICENSE information.

More information about PHP can be found at: http://www.php.net

PHP manuals can be found at:
http://www.php.net/manual/en/
http://devzone.zend.com/manual/

The latest PHP version can be downloaded from: http://www.php.net/downloads.php







Upgrading PEAR 1.3.1 to 1.5.1



Information
When you installed PEAR 1.3.1 and you try to install the PEAR Log package:

pear install Log

You can get the following error message:

downloading Log-1.9.10.tgz ...
Starting to download Log-1.9.10.tgz (37,063 bytes)
..........done: 37,063 bytes
No handlers for package.xml version 2.0


To solve this problem, you need to install PEAR packages that use package.xml version 2.0.

When you try to upgrade PEAR:

pear upgrade PEAR

You will see the following:

downloading PEAR-1.5.1.tgz ...
Starting to download PEAR-1.5.1.tgz (290,252 bytes)
............................................................done: 290,252 bytes
requires package 'PEAR' >= 1.3.3
requires package 'Archive_Tar' >= 1.3.1
requires package 'Structures_Graph' >= 1.0.2
PEAR: Dependencies failed


It seems you first need to install PEAR 1.3.3.

Operating system used
Windows XP Home Edition Version 5.1 SP 2

Software prerequisites
PEAR

Procedure
  1. Create a temp directory:
    E.g.: C:\temp

  2. Download PEAR 1.3.3 and unzip the content into the temp directory.

  3. Open a dos window and go to the temp directory:
    cd C:\temp

  4. Install PEAR 1.3.3, type:

    C:\temp>pear upgrade PEAR-1.3.3

    You will see the following:

    downloading PEAR-1.3.3.tgz ...
    Starting to download PEAR-1.3.3.tgz (103,320 bytes)
    ........................done: 103,320 bytes
    upgrade ok: PEAR 1.3.3


  5. Install Archive_Tar-1.3.1, type:

    C:\temp>pear upgrade --force PEAR-1.3.6 Archive_Tar-1.3.1 Console_Getopt-1.2

    You will see the following:

    downloading PEAR-1.3.6.tgz ...
    Starting to download PEAR-1.3.6.tgz (106,880 bytes)
    .........................done: 106,880 bytes
    downloading Archive_Tar-1.3.1.tgz ...
    Starting to download Archive_Tar-1.3.1.tgz (15,102 bytes)
    ...done: 15,102 bytes
    downloading Console_Getopt-1.2.tgz ...
    Starting to download Console_Getopt-1.2.tgz (3,370 bytes)
    ...done: 3,370 bytes
    upgrade ok: Console_Getopt 1.2
    upgrade ok: Archive_Tar 1.3.1
    requires package 'XML_RPC' >= 1.4.0
    PEAR: Dependencies failed




  6. Install PEAR-1.4.3, type:

    C:\temp>pear upgrade PEAR-1.4.3

    You will see the following:

    downloading PEAR-1.4.3.tgz ...
    Starting to download PEAR-1.4.3.tgz (276,859 bytes)
    .........................................................done: 276,859 bytes
    Optional dependencies:
    package 'XML_RPC' version >= 1.4.0 is recommended to utilize some features.
    Installed version is 1.1.0
    package 'PEAR_Frontend_Web' version >= 0.5.0 is recommended to utilize some
    features.
    package 'PEAR_Frontend_Gtk' version >= 0.4.0 is recommended to utilize some
    features.
    upgrade ok: PEAR 1.4.3
    WARNING: channel "pear.php.net" has updated its protocols, use "channel-update
    pear.php.net" to update
    Did not download optional dependencies: pear/XML_RPC, use --alldeps to download
    automatically
    Skipping package "pear/PEAR", already installed as version 1.4.3
    downloading Console_Getopt-1.2.2.tgz ...
    Starting to download Console_Getopt-1.2.2.tgz (4,252 bytes)
    .....done: 4,252 bytes
    upgrade ok: channel://pear.php.net/Console_Getopt-1.2.2


  7. Install PEAR-1.4.11, type:

    C:\temp>pear upgrade --force PEAR-1.4.11

    You will see the following:

    WARNING: channel "pear.php.net" has updated its protocols, use "channel-update
    pear.php.net" to update
    Did not download optional dependencies: pear/XML_RPC, use --alldeps to download
    automatically
    warning: pear/PEAR requires package "pear/XML_RPC" (version >= 1.4.0), installed
    version is 1.1.0
    downloading PEAR-1.4.11.tgz ...
    Starting to download PEAR-1.4.11.tgz (283,272 bytes)
    ..............................done: 283,272 bytes
    upgrade ok: channel://pear.php.net/PEAR-1.4.11
    PEAR: Optional feature webinstaller available (PEAR's web-based installer)
    PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
    PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)

    To install use "pear install PEAR#featurename"p" -- upgrade --force PEAR-1.4.11


  8. Upgrade PEAR to the latest version, type:

    C:\temp>pear upgrade PEAR

    You will see the following:

    Did not download optional dependencies: pear/XML_RPC, use --alldeps to download
    automatically
    pear/PEAR requires package "pear/XML_RPC" (version >= 1.4.0), installed version
    is 1.1.0
    downloading Archive_Tar-1.3.2.tgz ...
    Starting to download Archive_Tar-1.3.2.tgz (17,150 bytes)
    ......done: 17,150 bytes
    downloading Structures_Graph-1.0.2.tgz ...
    Starting to download Structures_Graph-1.0.2.tgz (30,947 bytes)
    ...done: 30,947 bytes
    upgrade ok: channel://pear.php.net/Structures_Graph-1.0.2
    upgrade ok: channel://pear.php.net/Archive_Tar-1.3.2


  9. Now you can upgrade all your installed packages, type:

    C:\temp>pear upgrade-all

    You will see the following:

    Will upgrade db
    Will upgrade mail
    Will upgrade net_smtp
    Will upgrade net_socket
    Will upgrade pear
    Will upgrade xml_parser
    Will upgrade xml_rpc
    Did not download optional dependencies: pear/Auth_SASL, use --alldeps to
    download automatically
    pear/Net_SMTP can optionally use package "pear/Auth_SASL"
    downloading DB-1.7.11.tgz ...
    Starting to download DB-1.7.11.tgz (132,064 bytes)
    .............................done: 132,064 bytes
    downloading Mail-1.1.14.tgz ...
    Starting to download Mail-1.1.14.tgz (17,537 bytes)
    ...done: 17,537 bytes
    downloading Net_SMTP-1.2.10.tgz ...
    Starting to download Net_SMTP-1.2.10.tgz (10,923 bytes)
    ...done: 10,923 bytes
    downloading Net_Socket-1.0.7.tgz ...
    Starting to download Net_Socket-1.0.7.tgz (5,419 bytes)
    ...done: 5,419 bytes
    downloading PEAR-1.5.1.tgz ...
    Starting to download PEAR-1.5.1.tgz (290,252 bytes)
    ...done: 290,252 bytes
    downloading XML_Parser-1.2.8.tgz ...
    Starting to download XML_Parser-1.2.8.tgz (13,476 bytes)
    ...done: 13,476 bytes
    downloading XML_RPC-1.5.1.tgz ...
    Starting to download XML_RPC-1.5.1.tgz (32,215 bytes)
    ...done: 32,215 bytes
    upgrade-all ok: channel://pear.php.net/XML_Parser-1.2.8
    upgrade-all ok: channel://pear.php.net/XML_RPC-1.5.1
    upgrade-all ok: channel://pear.php.net/PEAR-1.5.1
    PEAR: Optional feature webinstaller available (PEAR's web-based installer)
    PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
    PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)

    upgrade-all ok: channel://pear.php.net/Net_Socket-1.0.7
    upgrade-all ok: channel://pear.php.net/Mail-1.1.14
    upgrade-all ok: channel://pear.php.net/Net_SMTP-1.2.10
    upgrade-all ok: channel://pear.php.net/DB-1.7.11
    To install use "pear install pear/PEAR#featurename"


  10. Update the channels, type:

    C:\temp>pear update-channels

    You will see the following:

    Updating channel "pear.php.net"
    Updating channel "pecl.php.net"
    update-channels complete


  11. Now you can install any package, for example Log, type:

    C:\temp>pear install Log

    You will see the following:

    WARNING: "pear/DB" is deprecated in favor of "pear/M"
    Did not download optional dependencies: pear/MDB2, use --alldeps to download automatically
    pear/Log can optionally use package "pear/MDB2" (version >= 2.0.0RC1)
    pear/Log can optionally use PHP extension "sqlite"
    downloading Log-1.9.10.tgz ...
    Starting to download Log-1.9.10.tgz (37,063 bytes)
    ..........done: 37,063 bytes
    install ok: channel://pear.php.net/Log-1.9.10


  12. Show all installed packages, type:

    C:\temp>pear list

    You will see the following:
    
    INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
    =========================================
    PACKAGE          VERSION STATE
    Archive_Tar      1.3.2   stable
    Console_Getopt   1.2.2   stable
    DB               1.7.11  stable
    Log              1.9.10  stable
    Mail             1.1.14  stable
    Net_SMTP         1.2.10  stable
    Net_Socket       1.0.7   stable
    PEAR             1.5.1   stable
    PHPUnit          0.6.2   stable
    Structures_Graph 1.0.2   stable
    XML_Parser       1.2.8   stable
    XML_RPC          1.5.1   stable