经过几个月期待,PHP 5.0终于问世。在最新版本中,推出了具有非常重要性的编程语言特性,这些改变将博得新手和有经验的程序员的满意。这些更新包括:一个内部SQLite数据库,通过libxml2提高XML API运行的可靠性,一个可以重新设计的对象模型以及一个新推出的Zend Engine。
你肯定渴望采用PHP 5.0来开始你的开发工作。但是,既然你一定编译和安装PHP 5.0,为什么不将其升级成一个完全的LAMP(Linux,Apache,MySQL,PHP)开发环境呢?毕竟,过去的几个月中,已经发布了一系列新的版本:MySQL 4.1.3,其支持字符设置,自动校正,子查询和处理记录; Apache 2.0具有很好的稳定性。
我准备告诉你使用PHP 5.0,Apache 2.0和MySQL 4.1.3.来安装一个高效率PHP开发环境的过程,让我们开始吧!
基本条件
假定你已经安装了Linux版本,而且它能够正确运行。请确信系统中已经安装一个可以运行的C语言编译器,否则我们的操作就不能进行。
而且,还需要确定已经下载了所有相关软件:
最新MySQL版本(即现在的MySQL 4.1.3测试版),可以从MySQL.com下载。
最新的PHP版本(即现在的PHP 5.0.0),可从Php.net下载。
最新的Apache 2版本(即现在的Apache 2.0.50),从Apache.org下载。
最重要的一点是:在这些版本中,Apache 2.0和PHP 5.0的结合并不是天衣无缝,所以不应该同时用于同一系统中。但是,这种结合应该对开发系统是有好处的。
你可能还需要以下的支持库:
最新版本的libxml2库(现在的libxml2 2.6.11),从XmlSoft.org下载。
最新版本的zlib库(现在的zlib 1.2.1)从Gzip.org下载。
把所有的东西都复制到你的/tmp子目录,并进行解压,如下所示:
$ cd /tmp
$ tar -xzvf mysql-standard-4.1.3-beta-pc-linux-i686.tar.gz
$ tar -xzvf php-5.0.0.tar.gz
$ tar -xzvf httpd-2.0.50.tar.gz
$ tar -xzvf libxml2-2.6.11.tar.gz
$ tar -xzvf zlib-1.2.1.tar.gz
安装支持库
第一步,检查你是否安装了libxml2或者zlib。PHP 5.0要求libxml2 2.6.0(或者是比libxml2 2.6.0更好的版本)和zlib 1.0.9(或者是比zlib 1.0.9更好的版本)。如果这两个支持库都没有,保持只读形式,否则进入下一部分。
开始时,编译和安装libxml2 XML解析器,这一解析器提供PHP 5.0新的XML APL:
$ cd /tmp/libxml2-2.6.11
$ ./configure
$ make && make install
这一步结束时,libxml2被安装在/usr/local/下。如果你想把它安装在其它地方,你应该在先前步骤中明确指定prefix选项到configure设置中。
第二步:对zlib做类似的操作:
$ cd /tmp/zlib-1.2.1
$ ./configure
$ make && make install
这一步结束时,zlib也被安装在/usr/local/下。你可以不使用默认值,而使用指定prefix选项将其安装到其它地方。
安装Apache
以Apache使用PHP有两种方式:作为动态模块,其在运行状态时可载入到Web服务器,或者作为静态模块,其可直接编译到Web服务器代码中。对于本文,我们着重于第一种方式。
为了能以Apache2.0模块使PHP动态载入,Apache服务器必须以动态共享对象(DSO, Dynamic Shared Object)编译。可以通过传递--enable-so参数到Apache 2.0 configure使这一特性生效:
$ cd /tmp/httpd-2.0.50
$ ./configure --prefix=/usr/local/apache2 --enable-so $ make
&& make install
这一过程将会设置,编译,以及将服务器安装到/usr/local/apache2。
完成MySQL和Apache的安装之后,最后的一步即为编译和安装PHP。这一步骤中,最为关键的一步是使用一系列的激发扩展功能提供PHP configure,以及外部类库正确的文件路径。表A为其中的例子:
表 A
$ cd /tmp/php-5.0.0
$ ./configure --prefix=/usr/local/php5
--with-apxs2=/usr/local/apache2/bin/apxs
--with-libxml-dir=/usr/local/lib
--with-zlib --with-zlib-dir=/usr/local/lib
--with-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
--with-gd --enable-soap --enable-sockets
以上例子看起来相当复杂,然而事实并非如此:
--prefix设置PHP5 的安装路径。
--with-apxs2告诉PHP查找Apache 2.0的地方。
--with-libxml-dir和 --with-zlib-dir告诉PHP放置libxml2和zlib库的地方。
--with-mysql变量激活regularMySQL扩展功能。
--with-mysqli变量激活新增加的MySQL功能。
--with-gd变量激活 GD 扩展功能。
--with-zlib变量激活ZLIB 压缩库。
--enable-sockets变量激活socket通讯特性。
--enable-soap变量激活SOAP和Web services支持。
当然,也可以尝试其它选项和扩展功能:
$ ./configure --help
一旦configure已经完成,你即可编译和安装PHP。
$ make
$ make install
可以注意到,这些安装过程能够自动将PHP模块安装在正确目录下,以便Apache 2.0的查找。
使用PHP配置和测试Apache
已经完成?还没有呢!最后一步包括,配置Apache以识别PHP代码,然后发送到PHP解释器。为了实现这一过程,编辑Apache配置文件,即/usr/local/apache2/conf/httpd.conf,并添加以下一行:
AddType application/x-httpd-php .php
保存文件并启动服务器:
$ /usr/local/apache2/bin/apachectl start [/output]
现在,你可以测试一切是否可以正常运行,你可以在服务器文档目录/usr/local/apache2/htdocs/建立一个简单的测试程序。
将这一程序命名为test.php,并增加以下几行:
<?php
phpinfo();
?
保存文件,并将浏览器地址指向http://localhost/test.php。