当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

第2章PHP编程硬件和软件需求

9/17/2020 9:34:15 PM 人评论

第2章PHP编程硬件和软件需求

第2章 PHP编程硬件和软件需求

在第1章中,我们谈论了和Web相关的知识,对PHP也只是闻其声不见其人。终于,本章开始进入精彩的PHP讲解环节了,但俗话说“工欲善其事,必先利其器”,要掌握PHP,首先要了解它的操作工具。本章首先搭建PHP的开发环境,然后开发第一个PHP程序。

2.1 环境搭建

在1.1节中提到LAMP组合,L代表Linux系统、A代表Apache Web服务器、M代表MySQL数据库、P代表PHP语言解释器,它们都运行在Linux系统之上,当然也运行在Windows系统上,下面是Apache、MySQL和PHP在这两个系统上的安装过程。

2.1.1 Linux系统安装Apache、MySQL和PHP

Linux系统是一个源代码开放的操作系统,目前已经有很多版本流行。本书所用的Linux版本是RedHat系列。在RedHat Linux系统上安装软件分两种模式,一种是安装包安装,一种是源代码安装,本书介绍源代码安装。开始安装前,首先登录到终端,然后使用root用户登录,命令如下所示。

$ su 
Password: 
#

第1行是美元符号,输入“su”命令后,要求输入root用户的密码,然后命令提示符变成“#”,说明已经登录为root管理账号。

为方便安装,新建存放安装软件的目录,命令如下所示。

#mkdir /root/php

进入新建的目录。

#cd /root/php

下载所需软件。

#wget http://www.apache.org/dist/httpd/httpd-2.2.25.tar.gz 
#wget http://cn2.php.net/distributions/php-5.3.28.tar.gz 
#wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.20.tar.gz  
#wget http://www.zlib.net/zlib-1.2.8.tar.gz 
#wget http://jaist.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.20.tar.gz 
#wget http://nchc.dl.sourceforge.net/sourceforge/freetype/freetype-2.3.5.tar.gz 
#wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz 
#wget ftp://xmlsoft.org/libxml2/libxml2-2.6.30.tar.gz 
#wget ftp://xmlsoft.org/libxml2/libxslt-1.1.22.tar.gz 
#wget http://www.libgd.org/releases/gd-2.0.35.tar.gz

安装zlib库。

#cd /root/php 
#tar zxvf zlib-1.2.8.tar.gz 
#cd zlib-1.2.8 
#./configure --prefix=/usr/local/zlib
#make 
#make install

安装png图形库。

#cd /root/php 
#tar zxvf libpng-1.2.20.tar.gz 
#cd libpng-1.2.20 
#cp scripts/makefile.std makefile
#make 
#make install

安装freetype库。

#cd /root/php 
#tar -zvxf freetype-2.3.5.tar.gz 
#cd freetype-2.3.5 
#./configure --prefix=/usr/local/freetype 
#make 
#make install

安装jpeg图形库。

#cd /root/php 
# mkdir -pv /usr/local/jpeg6/{,bin,lib,include,man/man1,man1} 
#tar zxvf jpegsrc.v6b.tar.gz     
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static  
# make 
# make install   
# make install-lib

安装XSLT库。

#cd /root/php 
#tar zxvf libxslt-1.1.22.tar.gz 
#cd libxslt-1.1.22 
#./configure 
#make 
#make install

安装XML库。

#cd /root/php 
#tar zxvf libxml2-2.6.30.tar.gz 
#cd libxml2-2.6.30 
#./configure 
#make 
#make install

安装GD库。

#cd /root/php 
#tar zvxf gd-2.0.35.tar.gz
#cd gd-2.0.35 
#./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg6 \ 
--with-png=/usr/local \ 
--with-zlib=/usr/local/zlib \ 
--with-freetype=/usr/local/freetype 
#make 
#make install

安装MySQL数据库。

#cd /root/php 
#groupadd mysql 
#useradd -g mysql mysql 
#tar zxvf mysql-5.6.20.tar.gz 
#cd mysql-5.6.20 
#./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charset=all
#make 
#make install 
#cp support-files/my-medium.cnf /etc/my.cnf 
#cd /usr/local/mysql 
#chown -R mysql 
#chgrp -R mysql . 
#bin/mysql_install_db --user=mysql 
#chown -R root . 
#chown -R mysql var 
#bin/mysqld_safe --user=mysql &

安装Apache Web服务器。

#cd /root/php 
#tar zxvf httpd-2.2.25.tar.gz 
#cd httpd-2.2.25 
#./configure --prefix=/usr/local/apache --enable-so 
#make  
#make install 
# /usr/local/apache/bin/apachectl start

安装PHP解释器。

#cd /root/php 
#tar zxvf php-5.3.28.tar.gz 
# cd php-5.3.28 
  #./configure --prefix=/usr/local/php \ 
  --with-apxs2=/usr/local/apache/bin/apxs \ 
  --with-mysql=/usr/local/mysql \ 
  --with-pdo-mysql=/usr/local/mysql \ 
  --with-xml=/usr/local \ 
  --with-png=/usr/local \ 
  --with-jpeg-dir=/usr/local/jpeg6 \ 
  --with-zlib=/usr/local/zlib \ 
  --with-freetype=/usr/local/freetype \ 
  --with-gd=/usr/local/gd \ 
  --enable-mbstring=all
# make 
# make install 
# cp php.ini-dist /usr/local/php/lib/php.ini 
# echo “application/x-httpd-php  php” >> /usr/local/apache/conf/mime.types 
# /usr/local/apache/bin/apachectl restart

这样,Linux下的Apache Web服务器、MySQL数据库和PHP环境安装就完成了。

2.1.2 Windows系统安装Apache、MySQL和PHP

Windows系统是目前使用最多最常见的系统,本节的安装任务是在Windows XP系统下进行的。首先在C盘建立文件夹“php”,用于保存安装文件。

首先按照下列地址下载所需的软件,并存入C盘建立的php文件夹。

Apache Web服务器

http://www.apache.org/dist/httpd/binaries/win32/apache_2.2.25-win32-x86-no_ssl.msiMySQL

数据库

http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.20-win32.msi

PHP解释器

http://windows.php.net/downloads/releases/php-5.3.28-Win32-VC9-x86.msi

1. 安装Apache

(1)下载好上列软件后,进入C盘的php文件夹,双击“apache_2.2.25-win32-x86-no_ssl.msi”文件,出现安装界面后,单击“Next”按钮,选择第1个单选按钮同意版权协议,如图2.1所示。

016-01

图2.1 同意版权

(2)继续单击“Next”按钮,出现Apache介绍,单击“Next”按钮,出现服务器的信息表单,如图2.2所示。

016-01

图2.2 服务器信息

(3)在第1项“Network Domain”文本框中填写“localhost”,在第2项“Server Name”文本框中填写“localhost”,在第3项“Administrator’s Email Address”文本框中填写此服务器管理员的电子邮件地址,然后单击“Next”按钮,出现安装类型,如图2.3所示。

015-01

图2.3 选择安装类型

(4)选择单选按钮“Custom”,单击“Next”按钮,出现自定义安装界面,单击“Change”按钮,如图2.4所示。

015-01

图2.4 自定义安装

(5)显示安装目录选择对话框,如图2.5所示。

015-01

图2.5 目录选择

(6)在“Folder name”文本框输入“C:\www\Apache2.2”,单击“OK”按钮,继续单击“Next”按钮,最后单击“Install”按钮开始安装,出现安装进度条,在等待安装期间会出现两个命令行窗口,不必理会,运行成功后会自动关闭,直到最后安装成功,单击“Finish”按钮,Apache Web服务器就安装好了。

2. 安装PHP

(1)双击“php-5.3.28-win32-VC9-x86.msi”文件,单击“Next”按钮,出现版权协议,选择“I accept the terms in the License Agreement”单选按钮,单击“Next”按钮,出现选择安装目录界面,如图2.6所示。

015-01

图2.6 选择PHP安装目录

(2)单击“Next”按钮,出现Web服务器设置,如图2.7所示。

015-01

图2.7 Web服务器设置

(3)选择单选按钮“Apache 2.2.x Module”,单击“Next”按钮,出现选择Apache配置目录窗口,如图2.8所示。

015-01

图2.8 Apache配置目录

(4)在“Apache Configuration Directory”文本框中输入“C:\www\Apache2.2\conf\”,单击“Next”按钮,出现选择扩展窗口,如图2.9所示。

015-01

图2.9 选择扩展

(5)选择“Extensions”中的“gd2”、“Gettext”、“imagick”、“multi-byte string”、“Mysql”、“PDO”|“MySQL”、“xsl”和“XML-rpc”,单击“Next”按钮,然后单击“Install”按钮,出现安装进度条,等待安装结束,单击“Finish”。PHP就安装好了。

3. 安装MySQL

(1)双击“mysql-5.6.20-win32.exe”文件出现安装界面,单击“Next”按钮,出现版权协议,选中“I accept the terms in the License Agreement”复选框,单击“Next”按钮。

(2)出现安装类型窗口,单击“Custom”按钮,出现自定义安装界面,如图2.10所示。在这个界面中单击“Browse”按钮修改安装位置,这里设置为“c:\www\MySQL\”。

015-01

图2.10 自定义安装

(3)单击“Next”按钮,最后单击“Install”按钮开始安装,等待安装完成后,单击“Next”按钮,直到最后单击“Finish”按钮,自动跳出配置窗口,单击“Next”按钮,直到出现数据库字符集配置窗口,如图2.11所示。

015-01

图2.11 选择字符集

(4)选择“Manual Selected Default Character Set / Collation”单选按钮,然后在“Character Set”下拉列表中选择“gbk”,单击“Next”按钮,直到出现设置密码窗口,如图2.12所示。

015-01

图2.12 设置密码

(5)输入自己的密码,单击“Next”按钮,最后单击“Execute”按钮,执行完成后单击“Finish”按钮。完成MySQL数据库的安装。

2.1.3 安装Zend Studio

Zend Studio是Zend公司出品的一款荣获多个大奖的PHP集成开发环境,该软件为商业软件,可以在http://www.zend.com下载30天的试用版,本书使用的版本为11.0.0。

(1)下载完成后,双击“ZendStudio-11.0.0-win32.win32.x86.msi”文件,进入安装界面,如图2.13所示。

015-01

图2.13 安装向导

(2)单击“Next”按钮,进入如图2.14所示界面,设置安装文件夹。

015-01

图2.14 安装文件夹

(3)单击“Next”按钮,进入如图2.15所示界面,单击“Install”按钮开始安装。安装完成后显示如图2.16所示界面,单击“Finish”按钮完成安装。

010-01 011-02
图2.15 安装向导 图2.16 安装完成

为了确保新安装软件的正常启动,安装完毕后重新启动一次电脑。

2.2 Apache和PHP配置

安装完成Apache和PHP后,Apache和PHP都各自提供了一个文本配置文件,以供用户灵活地进行运行时的配置。

2.2.1 Apache服务器基本配置

此小节可选读。进入Apache配置文件目录,Windows系统在C:\www\Apache2.2\conf目录中,Linux系统在/usr/local/apache/conf目录中,用记事本打开httpd.conf文件(Linux用vi打开),其中基本配置选项的解释如下所示。

# 前面有#号表示为注释行 
 
# ThreadsPerChild: 每个子进程的线程数 
# MaxRequestsPerChild: 每个子进程的最大请求数 
ThreadsPerChild 250 
MaxRequestsPerChild  0 
 
# 服务器的安装目录 
ServerRoot "C:/www/Apache2.2" 
 
#监听端口,通常情况下都是80 
Listen 80 
 
#加载动态扩展 
LoadModule actions_module modules/mod_actions.so 
LoadModule alias_module modules/mod_alias.so 
LoadModule asis_module modules/mod_asis.so 
LoadModule auth_basic_module modules/mod_auth_basic.so 
#LoadModule auth_digest_module modules/mod_auth_digest.so 
 
#服务器管理员的电子邮件地址 
ServerAdmin foolkaka@hotmail.com 
#此服务器的名字 
ServerName localhost:80 
 
#网站的根目录,和上面的安装目录不一样,网站根目录可以指定到任意目录 
DocumentRoot "C:/www/Apache2.2/htdocs" 
 
#目录索引文件,当访问一个目录时,自动访问到被设置的文件 
#可以设置多个,文件名之间用空格分隔 
<IfModule dir_module> 
    DirectoryIndex index.html index.php 
</IfModule> 
 
#这里是Windows系统安装PHP后自动添加的行 
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL 
PHPIniDir "C:/www/PHP/" 
LoadModule PHP 5_module "C:/www/PHP/PHP 5apache2_2.dll" 
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

2.2.2 PHP的基本配置

用记事本打开PHP配置文件php.ini(Linux用vi打开),php.ini文件位于Windows系统的PHP安装目录,Linux系统在/usr/local/php/lib目录下。

基本配置选项解释如下。

; 每一行开头有分号“;”表示为注释 
; 是否打开php语言引擎。On打开,Off关闭 
engine = On 
 
; 脚本开头是否支持短标签,通常情况下php脚本开头标签是“<?php“ 
; 这个选项如果设置为On,那么可以使用“<?” 
short_open_tag = Off 
 
; 是否允许asp语言的 <% %> 标签 
; 通常php脚本被包含在<?php ?>标签中 
; 如果此项被设置为On,那么<% %>标签内的语句也会当成php语句执行 
asp_tags = Off 
 
; 各个脚本的最大运行时间,单位为秒 
max_execution_time = 30 
 
; 各个脚本接收数据的最大时间 
max_input_time = 60  
 
; php脚本使用内存限制 
memory_limit = 128M 
 
; 脚本包含的路径 
; UNIX系统使用冒号分隔多个路径,如: "/path1:/path2" 
;include_path = ".:/usr/local/php/lib" 
; 
; Windows系统用分号分隔多个路径: "\path1;\path2" 
;include_path = ".;c:\php\includes" 
 
; 扩展目录路径
extension_dir ="C:\www\PHP\ext" 
 
; 扩展,加载上面扩展目录中的扩展 
; 如果要使用某个扩展,可以将扩展文件放到扩展目录中,然后在下面新写一行extension=你的文件名 
extension=php_gd2.dll

注意 以上设置可能和读者机器上的设置有所不同。

2.2.3 PHP文件上传配置

在php.ini文件中可以找到文件上传配置区域,配置选项解释如下。

;;;;;;;;;;;;;;;; 
; File Uploads ; 
;;;;;;;;;;;;;;;; 
 
; 设置为On 允许 HTTP 文件上传,设置为Off不允许上传 
file_uploads = On 
 
; HTTP上传文件的临时目录,此项不设置PHP使用操作系统默认的临时文件夹 
;upload_tmp_dir = 
 
; 最大允许上传文件,单位为MB 
upload_max_filesize = 2M

2.2.4 PHP的Session配置

在php.ini文件中可以找到Session配置区域,配置选项解释如下。

[Session] 
; Session的保存方式,默认为文件方式 
session.save_handler = files 
 
; 保存Session文件的路径 
session.save_path = "/tmp"

注意 以上设置可能和读者机器上的设置不同。

2.2.5 PHP的电子邮件配置

在php.ini文件中可以找到电子邮件配置区域,配置选项解释如下。

[mail function] 
; Windows系统下面mail函数只能通过smtp发信 
; SMTP主机和端口 
SMTP = localhost 
smtp_port = 25 
 
; Linux系统下可以直接输入sendmail的安装路径 
;sendmail_path =

2.2.6 PHP的安全设置

在php.ini文件中,有一些选项对脚本安全起着重要作用,下面是一些建议的配置。

; 此选项若打开,get,post,cookie和server将自动注册为全局变量,若变量已存在,将会覆盖旧的变量 
; 新的PHP版本将不再支持这个选项,建议设置为Off 
register_globals = Off 
 
; 安全模式,必要时可以设置为On,如虚拟主机提供商 
safe_mode = Off 
 
; 禁止函数 
; 此选项可以禁止一些函数的运行,多个函数名以逗号分隔 
disable_functions = 
 
; 禁止的类 
; 此选项可以禁止一些类运行,多个类名以逗号分隔 
disable_classes =

2.2.7 PHP调试设置

PHP调试器目前有好几个,如xdebug、apd等,本书用到的调试器是Zend公司的Zend Debugger,可以在http://www.zend.com下载到。

Zend Debugger是以扩展的形式提供,根据系统的不同,分别下载Windows版本或Linux版本,这里讲解Windows系统下的安装,Linux系统除了扩展文件不一样,安装步骤与Windows系统的一样。

(1)将下载的压缩包“ZendDebugger-5.2.6-cygwin_nt-i386.tar.gz”文件解压,复制“5_2_x_comp”文件夹里面的“ZendDebugger.dll”文件至PHP的扩展目录,如图2.17所示。

015-01

图2.17 Zend Debugger扩展

(2)编辑php.ini文件,在文件结尾添加下列行。

zend_extension_ts=C:/www/PHP/ext/ZendDebugger.dll
zend_debugger.allow_hosts=127.0.0.1 
zend_debugger.expose_remotely=always

注意 如果在安装PHP的时候选择了不同路径,“zend_extension_ts”选项需要改成你自己的安装路径。

(3)复制ZendDebugger-5.2.6-cygwin_nt-i386目录下的dummy.php文件至网站根目录(即C:\www\Apache2.2\htdocs文件夹)。

(4)配置完保存文件后,需要重新启动Apache服务器,单击任务栏右侧的Apache服务控制图标(一片红羽毛和绿色箭头),在弹出的菜单中选择“Restart”完成服务器的重新启动,如图2.18所示。

015-01

图2.18 重启Apache服务

2.3 第一个PHP程序Hello World

经过一连串的安装和设定,有人一定会问:“这样能运行PHP了吗?”下面就来运行第一个PHP程序。

(1)启动Zend Studio,如图2.19所示。

015-01

图2.19 启动Zend Studio

(2)第一次启动Zend Studio时,将弹出如图2.20所示的设置工作空间的窗口。

015-01

图2.20 设置工作空间

(3)选择“File”|“New”|“Local PHP Project”命令,如图2.21所示。

015-01

图2.21 选择菜单

(4)在弹出的对话框中的“Project Name”文本框中输入“HelloWorld”,在“Location”右侧输入Apache中设置的根目录,如图2.22所示。

015-01

图2.22 创建新项目

(5)单击“Finish”按钮即可创建新的项目,如图2.23所示,在左侧的“PHP Explorer”中列出了项目中的文件。

015-01

图2.23 新项目

(6)新建的项目自动添加了一个名为“index.php”的文件,双击打开该文件,在文件中输入下列代码。

<?php 
// 你好世界 
echo "Hello World!";
 
?>

(7)按快捷键“Ctrl+S”或选择“File”|“Save”命令进行保存。再按“Ctrl+F11”组合键运行代码,这时将显示如图2.24所示的对话框,选择通过哪种方式运行代码。

015-01

图2.24 选择代码运行方式

(8)选择“PHP Web Application”以网页方式来运行PHP代码,单击“OK”按钮,即可看到如图2.25所示的运行结果,这是以一个内置浏览器的方式显示代码的运行结果。

015-01

图2.25 运行结果

激动人心的时刻总是那么短,能让PHP说一句“Hello World”只是一小步,但对于还没接触过PHP的人来说是一大步啊!

2.4 典型实例

【实例2-1】Apache的管理。

Apache安装成功后,会自动注册一个服务并启动,同时运行一个软件ApacheMonitor,来管理、监视和控制这个服务。

通过ApacheMonitorr的图标,可以得知当前Apache服务的运行状态,图标内的三角形为绿色时代表服务正在运行,为红色时代表服务已经停止。

通过右击ApacheMonitor图标,弹出ApacheMonitor菜单,选择“Open Apache Monitor”菜单项。会弹出Apache服务管理器的窗口,如图2.26所示。

015-01

图2.26 Apache服务管理器

Apache服务管理器窗口,可以帮助用户启动、停止、重启Apache服务,也可以打开本机服务管理器和链接管理局域网里其他电脑主机的Apache服务。Apache服务管理器的下方状态栏里显示的是当前Apache的版本及插件状态。

【实例2-2】Apache的访问。

Apache安装完成后,默认情况下占用电脑的80端口,并使当前的电脑成为网络服务器,当这台电脑接入到互联网并拥有IP地址后,就可以被互联网中的任何一个用户访问。如果电脑没有接入到互联网,也可以通过特定的IP地址来访问Apache。

在浏览器的地址烂里输入http://localhost或http://127.0.0.1后,浏览器会向当前电脑80端口发送网络服务请求。Apache在检测到网络请求后,将用户请求的数据发送给浏览器。经过浏览器解析后,呈现给用户。当出现图2.27所示内容后,说明Apache服务运行正常。

015-01

图2.27 Apache服务成功运行

图2.27所示内容,是由Apache安装目录下htdocs目录下的index.html文件提供。htdocs文件夹是默认的工作文件夹,用户通过浏览器访问的资源,都需要放置在这个文件夹下。当然也可以通过修改Apache的配置文件,来改变这个文件夹的路径。Apache安装完成后,只支持HTML和JavaScript等语言,要想使其支持PHP,还需要为其安装PHP插件。

【实例2-3】发布PHP程序。

发布PHP程序的过程,就是把PHP代码文件复制到Apache工作目录下的过程。要想发布在2.3节中创建的PHP代码,需要以下过程。

(1)找到PHP文件,并执行复制操作。

(2)找到Apache的安装目录,进入htdocs目录下。

(3)执行粘贴操作,把PHP代码保存在Apache的工作目录下。

通过以上操作,就完成了PHP程序的发布。然后启动Apache,在浏览器的地址栏里输入http://127.0.0.1/index.php,就可以访问刚复制的hindexello.php文件了,按“Enter”键后浏览器内将会出现PHP脚本运行后的结果。

2.5 小结

这一章主要学习了安装和配置Apache、MySQL和PHP,以及Zend Studio的知识。按本书步骤,在Windows系统下安装好后,不用配置都能正常使用,Linux系统因可定制性太强或版本差异,可能安装时会碰到一些问题,此类问题可以根据各自情况,在网上找资料解决。PHP和Apache是自由软件,全世界有很多人在维护和开发模块,本章的配置部分虽然简单,覆盖面不多,但已经能满足普通网站的基本需要。

2.6 习题

一、填空题

1. PHP可选择的Web服务器是_____、_____。

2. PHP一般选择的数据库是__________。

二、选择题

1. 以下站点可以下载到PHP的是( )。

A. http://www.php.net
B. http://www.apache.org
C. http://www.mysql.com
D. http://www.asp.net

2. 以下站点可以下载到Apache的是( )。

A. http://www.php.net
B. http://www.apache.org
C. http://www.mysql.com
D. http://www.asp.net

上一篇:第1章PHP漫谈

下一篇:第3章类型

相关教程

共有条评论 网友评论

验证码: 看不清楚?