1.4 开始PHP之旅:搭建PHP开发环境
从这节开始,正式进入和PHP有关的内容。本节将介绍Apache、MySQL和PHP的下载、安装及配置,分别讲述在Windows XP和Linux/UNIX下开发环境的搭建。为了便于初学者理解和掌握,本书将按Windows操作系统下的开发环境讲述PHP语言及其编程。
1.4.1 下载Apache、MySQL和PHP
Apache、MySQL和PHP都是开源产品,均可从其官方网站下载,并且可以免费使用。
1.Apache的下载
Apache服务器的官方网站是http://httpd.apache.org。当前,通过镜像地址http://labs.renren.com/apache-mirror//httpd/binaries/win32/可以下载Windows的Apache安装程序。这个镜像地址列有各个版本的Apache安装程序,如图1-2所示。在这个页面中单击合适的下载链接可下载Apache安装软件。
图1-2 Apache下载页面
本书以Apache 2.2.21的Windows版本作为例子,在官网上下载httpd-2.2.21-win32-x86-no_ssl.msi安装程序。
2.MySQL的下载
MySQL的官方网站是http://www.mysql.com。通过http://dev.mysql.com/downloads/mysql/5.5.html可以下载最新版本的MySQL,如图1-3所示。对于Windows系统,建议下载安装版本的可执行文件(.exe文件),本书以安装MySQL 5.5为例。
图1-3 MySQL下载页面
3.PHP的下载
PHP的官方网站是http://www.php.net。通过http://windows.php.net/download/可以下载最新的PHP版本。对于Windows系统,可以下载安装版本或者PHP压缩包文件,如图1-4所示。建议下载PHP的Windows压缩包(.zip文件)来安装PHP。本书以安装PHP 5.3.8为例。
图1-4 PHP下载页面
1.4.2 在Windows下配置开发环境
下载完需要的软件后,本小节介绍如何实现这些软件的安装和配置。
1.Apache的安装
图1-5 Server Information界面
Windows下Apache的安装和其他Windows软件的安装类似,只需按步骤单击“Next”按钮就可以了。这里主要说明安装向导中Server Information界面的填写,如图1-5所示。
因为这里只是搭建一个学习用的环境,并不需要一个真正意义上的网络域名,所以在“Network Domain”文本框中填写“localhost”即可。同理,“Server Name”文本框中也填写“localhost”,“Administrator's Email Address”文本框中可填写“webmaster@localhost”或其他E-mail地址。其他选项保留默认设置,单击“Next”按钮完成后续的安装步骤即可。本书选择将Apache安装在D盘根目录下。
图1-6 启动成功
安装完成后,Apache服务器就会试着自动启动。如果启动成功,会在Windows的托盘区域看到Apache正在运行的图标(一个带有紫红色羽毛的绿色箭头),如图1-6所示。
说明 如果安装后无法运行Apache,可在安装目录下的conf/httpd.conf文件中修改端口号,默认为80,可改为81。如果机器上装有IIS,可能会有这种冲突。
2.PHP的安装
PHP下载完成后,将压缩包解压至想要安装PHP的目录,即基本完成了PHP的安装。本书的后续讲述将默认PHP是安装在D盘根目录下。用户可以选择想要安装PHP的目录,只是在后续的配置中需要将相关设置换成读者自己的PHP安装目录。
3.MySQL的安装
像安装其他Windows软件一样,双击MySQL的安装程序,按步骤单击“Next”按钮即可完成安装。MySQL软件可以安装在Windows任何一个盘符下,但笔者强烈建议初学者将MySQL安装在C盘根目录下,因为这样不需要做任何设置,MySQL就可以顺利启动并运行。本书以MySQL安装在C盘根目录下为例。
4.配置开发环境
为了在Windows系统环境中可以执行PHP,需要做进一步的工作,可先按如下步骤搭建好开发环境,至于这样操作步骤的原因与意义,将在后面详细讲述。
(1)在PHP安装目录下找到文件php5ts.dll,若是Windows XP(包含Vista、Windows 7)用户,要将其复制到C:\WINDOWS\system32目录下;若是Windows 2000用户,要将其复制到C:\WINNT\system32目录下。
(2)在MySQL安装目录的Lib文件夹下找到文件libmysql.dll,若是Windows XP(包含Vista、Windows 7)用户,要将其复制到C:\WINDOWS\system32目录下;若是Windows 2000用户,要将其复制到C:\WINNT\system32目录下。
(3)在PHP的安装目录下找到文件php.ini,若是Windows XP(包含Vista、Windows 7)用户,要将其复制到C:\WINDOWS下;若是Windows 2000用户,要将其复制到C:\WINNT下,然后改名为php.ini。这个文件是配置PHP的基础文件,如设置服务器根目录等配置。
(4)用文本编辑器打开php.ini,找到“doc_root=”语句,因为本书默认Apache安装在D盘根目录下,所以,修改这个配置项的值如下。
doc_root = d:\Apache2\htdocs
提示 用户需要根据自己安装Apache的路径,修改该配置项的值。
(5)在php.ini中找到“extension_dir="./"”语句,修改该配置项如下。这个配置项用来载入PHP的扩展模块。
extension_dir = d:\php\ext
(6)在php.ini中找到“;extension=php_mysql.dll”语句,把这项前面的分号去掉,改为如下所示的内容。有的配置文件可能默认去掉了这个分号。
extension=php_mysql.dll
说明 这个配置项用来使PHP支持MySQL。这里的分号起注释作用,去掉分号,表示使这个项生效。修改完PHP的配置文件php.ini之后,保存并退出该文件。
(7)接下来进行Apache的配置。转到Apache安装目录下的conf目录,用文本编辑器打开Apache的配置文件httpd.conf。在此文件中找到“Dynamic Shared Object(DSO)Support”语句,在LoadModule行的最后添加如下所示的配置项。
LoadModule php5_module d:/php/ php5apache2_2.dll
这项是通过Apache来载入PHP模块php5apache2_2.dll,即PHP以Apache的一个模块来运行。因为本书将PHP安装在D盘根目录下,所以这里载入位置是d:/php/php5apache2_2.dll。如果读者没有按本书默认的安装目录安装PHP,那么需要按自己的安装目录修改PHP的载入位置。
(8)为了让Apache支持.php后缀的文件,须在httpd.conf中找到“AddType”项,在最后添加如下所示的配置项。
AddType application/x-httpd-php .php
(9)找到DirectoryIndex,在最后添加index.php,如下。
DirectoryIndex index.html index.php
提示 为了支持中文,找到AddDefaultCharset ISO-8859-1并将其改为AddDefaultCharset GB2312。但这个设置只针对Apache 2.2以下的版本,2.2版本不再有这个选项。
(10)保存修改后的httpd.conf,即完成Apache的基本配置。至此,在Windows下的PHP开发环境就基本搭建完成。
注意 对Apache配置文件httpd.conf文件的修改,强烈建议遵守修改一点测试一点的原则,即每次修改完并保存httpd.conf后,要重新启动Apache。如果Apache能正常启动,则可以进行后续的修改;如果Apache启动时报错,则说明这次的修改有问题,需要仔细检查并重新修改。
1.4.3 在Linux/UNIX下配置开发环境
因为在Linux/UNIX下配置PHP的开发环境对读者的技术要求稍微高一些,而且涉及一些Linux/UNIX方面的基础知识,如命令的使用、程序编译等。考虑到便于初学者学习和掌握,本节讲述比较简略。另外,本书主要以Windows为平台介绍PHP语言及其开发,因此初学者也可以跳过本节的学习。
1.MySQL的安装
本书以在Linux下通过.rpm文件安装MySQL为例。MySQL的官方网站下载地址为http://www.mysql.com/downloads/mysql/#downloads,在“Select Platform”下拉列表中选择“linux-Generic”,根据Linux的硬件选择合适的版本进行下载。选择“Linux-Generic 2.6(x86,32-bit),RPM Package MySQL Server”,下载MySQL的服务端安装文件“MySQL-server-5.5.16-1.linux2.6.i386.rpm”;选择“Linux-Generic 2.6(x86,32-bit),RPM Package Client Utilities”,下载MySQL客户端安装文件“MySQL-client-5.5.16-1.linux2.6.i386.rpm”。然后执行下面的命令完成MySQL的安装。
rpm -ivh MySQL-server-5.5.16-1.linux2.6.i386.rpm MySQL-client-5.5.16-1.linux2.6.i386.rpm
启动MySQL服务,命令如下。
service mysql start
在没有设置MySQL密码的情况下,可以通过如下命令测试MySQL是否成功安装。
mysql –u root
如果出现类似“Welcome to the MySQL monitor.Commands end with;or\g.”的文字,说明MySQL安装成功了。
2.安装Apache
从Apache官方网站下载UNIX版本的压缩包,本书以httpd-2.2.21.tar.gz为例。假设资源包放在目录/usr/local/src下,进入这个目录后解压缩,命令如下。
cd /usr/local/src tar -zxvf httpd-2.2.21.tar.gz
解压缩后,进入目录httpd-2.2.21,命令如下。
cd httpd-2.2.21
执行以下命令。
./configure --prefix=/usr/local/apache2 --enable-module=so
其中,--prefix=/usr/local/apache2用来指定Apache的安装目录。接下来进行编译,执行以下命令完成安装。
make make install
3.PHP的安装
(1)从PHP官方网站http://www.php.net/downloads.php下载PHP-5.3.8的压缩包,解压缩该文件包,命令如下。
tar -zxf php-5.3.8.tar.gz
(2)然后,转到解压缩后的目录,命令如下。
cd php-5.3.8
执行如下命令。
./configure --prefix=/usr/local/php -with-mysql=/var/lib/mysql
(3)以上命令完成PHP安装目录等相关配置。接着编译PHP,命令如下。
make make install
(4)复制当前目录下php.ini-dist文件的PHP到安装目录的lib目录下,并改名为php.ini,命令如下。
cp php.ini-dist /usr/local/php/lib/php.ini
(5)以上安装完成后,可以参见1.4.2节的内容进行有关配置。
1.4.4 善其事,利其器——PHP编辑器的选择
毋庸置疑,开发人员需要一个功能强大的IDE(Itegrated Development Enviroment,集成开发环境),就好似一个好的猎人需要一支好的猎枪一样。使用PHP做Web应用的开发,无论是从开发人员的需求上考虑,还是从项目的开发效率上考虑,都需要有一个功能强大而且易用的编辑器做支持。如今有许多编辑器可供PHP开发人员选择,它们各有优点,开发人员可以根据自己的需求、使用习惯等选择这些编辑器,将它们作为编写代码、开发程序的高效工具。
本小节将简单介绍3款常用的也是比较受开发人员欢迎的PHP编辑器,希望对初学者有所帮助。这三款编辑器是UltraEdit、Eclipse和Zend Studio。
1.UltraEdit编辑器
UltraEdit是一个有十多年历史的老牌编辑器,它支持HTML、C/C++、Java、Perl、PHP等多种语言语法的高亮显示,支持FTP获取和保存文件、文件比较、二进制文件修改、宏等高级功能。最主要的是,它使用起来很简单,而且功能不弱,对PHP初学者来说,用它来编辑PHP程序是相当不错的选择。不过,UltraEdit是共享软件,并不免费。图1-7所示是UltraEdit的编辑界面。
2.Eclipse编辑器
Eclipse是一个开源的、基于Java的、可扩展的开发平台。Eclipse通过插件组件构建开发环境。Eclipse不只是用来做Java IDE,通过一系列的插件,Eclipse可以支持更多的语言,如C/C++、PHP等。
安装了支持编辑PHP的插件以后,Eclipse就成了一个PHP的IDE,而且它还集成了管理MySQL和Apache的工具。与UltraEdit不同的是,Eclipse编辑PHP时,可以做语法检查、代码补全、括号自动匹配等功能,这些功能让开发人员编辑PHP代码时感觉更加得心应手。Eclipse更适合开发大型PHP项目时使用。图1-8所示是Eclipse的编辑界面。
图1-7 UltraEdit的编辑界面
图1-8 Eclipse的编辑界面
3.Zend Studio编辑器
Zend Studio是PHP的专业集成开发环境,它提供了PHP代码编辑、调试、分析、优化及数据库管理的全套工具,可以有效地提高PHP项目的开发效率。Zend Studio不仅专业而且易用,适合一般PHP程序编写和大型PHP项目开发。图1-9所示是Zend Studio的编辑界面。
图1-9 Zend Studio的编辑界面