1.1PHP简介
PHP是一种简单易用而且功能强大的编程语言。PHP是“Hypertext Preprocessor”的缩写,翻译成中文的意思是“超文本预处理器”。目前PHP的主版本是5,是近年来迅速崛起并得到迅猛发展的服务器端嵌入式脚本描述语言。
PHP具有以下优点:
●良好的跨平台性,支持Windows、Linux、Macintosh、FreeBSD、OS2和UNIX等
多种操作系统平台。能够与多个WEB服务器兼容,比如:Apache、MS IIS、Netscape
Serv等;
●支持几乎所有的主流与非主流数据库,支持JDBC,提供MySQL、Oracle、Sybase
和MS SQL等多种数据库访问接口;
●开发成本低,使用PHP、Apache服务器、MySQL数据库和Linux操作系统这一黄
金组合,用户可以低成本快速构建一个中小型的WEB系统;
●PHP的语法来源于C语言的编程风格,跟Java很相似,简单易用,系统内置函数
丰富,使复杂的WEB开发变得十分轻松自由;
●拥有成熟的开发工具。Windows下可以用EditPlus、Zend Studio,在Linux系
统下可以用Vi或者Eclipse等;
●支持模板化开发,实现程序逻辑与用户界面的完全分离,开发周期短、效率高;
同时支持面向过程和面向对象两种风格开发;
●目前主流技术都支持PHP,如:WebService、Ajax、XML等;
●完全免费和开源,升级快,并且有很多成熟的框架,如:ZendFrameWork、FleaPHP、
MooPHP、ThinkPHP、CakePHP等。
1.2PHP开发环境
PHP的两大主流开发环境分别是LAMP(Linux+Apache+MySQL+PHP)和WAMP (Windows+Apache+MySQL+PHP)。下面我们分别讲解在这两种不同的环境下如何配置PHP。在今后所有的开发和测试中统一使用火狐(Firefox)浏览器。
1.2.1Linux平台下PHP运环境的搭建
虽然Linux系统已经捆绑了Apache、MySQL、PHP等软件,但是为了获得最佳性能,建议从官方网站下载最新的稳定版本来使用。本教材中使用的软件版本分别是: httpd-2.2.14.tar.gz、mysql-5.0.45.tar.gz、php-5.2.11.tar.gz。
备注:在配置环境之前请在Linux系统里/usr目录下新建一个/usr/lamp目录,用来存放网上下载的安装文件。
(1)安装MySQL
打开火狐浏览器,访问https://www.sodocs.net/doc/946282642.html,/downloads站点,下载mysql-5.0.45.tar.gz,并且存放在/usr/lamp这个目录下。同时解压缩mysql安装包,并且进入MySQL目录,命令如初始化MySQL,命令如下:
#cd/usr/lamp
#tar–zxvf mysql-5.0.45.tar.gz
#cd mysql-5.0.45
//创建MySQL用户组
#groupadd–r mysql
#usradd–m–r–g mysql–d/var/lib/mysql–s/bin/bash–c“MySQL Server”mysql //指定MySQL安装目录
#./configure–prefix=/usr/local/mysql\
//指定MySQL配置文件存放目录
>--sysconfdir=/etc\
//指定MySQL数据库存放目录
>--localstatedir=/var/lib/mysql\
//激活load data local infile语句,使MySQL支持使用该语句
>--enable-local-infile
//编译,可能需要较长时间
#make
//安装
#make install
//初始化数据库
#cd/usr/local/mysql
//初始化系统数据库
#./bin/mysql_install_db
//查看存放数据库中的目录列表
#ls/var/lib/mysql
//修改数据库目录所有者
#chown–R mysql:mysql/var/lib/mysql
//复制MySQL配置文件到/etc目录中,并更名为https://www.sodocs.net/doc/946282642.html,f
#cp/usr/local/mysql/share/mysql/https://www.sodocs.net/doc/946282642.html,f/etc/mycnf
//复制生成MySQL服务器的自动与停止运行脚本
#cp/usr/local/mysql/share/mysql/mysql.server/etc/rc.d/init.d/mysql
//将MySQL服务添加到服务器管理中,并设置自启动状态
//查询当前是否有MySQL服务
#chkconfig--list|grep mysql
//添加MySQL服务到服务器管理中
#chkconfig–add mysql
//启动MySQL服务
#service mysql start
//设置root账户密码
#/usr/local/mysql/bin/mysqladmin–u root–h主机名–p password‘新密码’
//安装完毕使用“mysql”命令启动MySQL客户端,连接MySQL服务器
#/usr/local/mysql/bin/mysql–uroot–p
Enter password:
在MySQL客户端中输入“select5+6”进行测试:
mysql>select5+6;
+-----+
|5+6|
+-----+
|11|
+-----+
1row in set(0.00sec)
如果输出正确结果,表明MySQL安装成功。
(2)安装Apache2服务器。
1访问https://www.sodocs.net/doc/946282642.html,,在Apache的官方网站上下载
httpd-2.2.14.tar.gz,存放在/usr/lamp这个目录下。
2安装Apache2。
3打开Linux的终端,进入/usr/lamp目录,使用tar命令进行解压缩操作,
命令如下:
#cd/usr/lamp
#tar–zxvf httpd-2.2.14.tar.gz
#cd httpd-2.2.14
#./configure–prefix=/usr/local/apache–enable-so–with-mpm=prefork –enable-modules=”setenvif rewrite deflate vhost_alias”
//编译,可能时间很长
#make
#make install
//启动apache服务
#usr/local/apache/bin/apachecl start
//设置apache自启动
#echo“/usr/local/apache/bin/apachectl start”>>/etc/rc.d/rc.local
启动Apache以后,在火狐浏览器地址栏输入http://localhost若显示图2-1的效果,则表示Apache服务已经成功启动。
图2.1Apache安装成功
(3)安装PHP5
访问https://www.sodocs.net/doc/946282642.html,/downloads.php下载php-5.2.11.tar.gz,同样存放在/usr/lamp这个目录下。
#tar–zxvf php-5.2.11.tar.gz
#cd php-5.2.11
#./configure--prefix=/usr/local/php--with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
#make clean
#make
#make install
//Apache中加载PHP模块
#cp php.ini-dist/usr/local/lib/php.ini
进行PHP页面测试,将以下代码写入/usr/local/apache/htdocs/test.php文件里面。使用火狐浏览器进行测试。如图2.2:
图2.2PHP 环境配置成功
1.2.2Windows 平台下PHP 运行环境的搭建
访问各组件官方网站下载Apache 安装文件、PHP 压缩包、MySQL 安装文件。如图2.3
所示:
图2.3Windows 下所需要的安装文件
(1)安装Apache 服务器
echo ‘Hello LAMP!’;?>
图2.4Apache欢迎界面
表示同意
图2.5Apache授权协议界面
图2.6Apache 配置界面
图2.7Apache
安装方式选择界面
经典方式安装
自定义方式安装
图2.8Apache安装成功
图2.9Apache正常运行图标
当Apache正常运行时,右下角的图标显示绿色三角图标。打开火狐浏览器,输入http://localhost,测试Apache是否安装成功。如图2.10所示:
图2.10Apache运行正常
服务无法启动时,在命令行中通过:httpd.exe–w–n“Apache2.2”–k start 查看详细错误
(2)安装PHP5。
解压缩php-5.2.11-Win32.zip,将PHP压缩包解压缩到自己指定的文件夹中,如D:\php5。如图2.11:
图2.11PHP5解压缩到D盘后的文件列表
在D:\prt\wamp\php5文件夹中找到“php.ini-recommended”,将该文件名修改成“php.ini”,用EditPlus打开寻找如下代码:
extension_dir="./"
将其取值修改成:
extension_dir="D:/prt/wamp/php5/ext"
将PHP5以module方式与Apache服务器结合。首先找到Apache目录下的“http.conf”的配置文件,如图2.12所示:
图2.12Apache的配置文件
使用EidtPlus打开http.conf文件,在文件尾部添加如下代码:
LoadModule php5_module"D:/prt/wamp/php5/php5apache2_2.dll"#PHP与Apache结合AddType application/x-httpd-php.php#通过Apache使PHP解析.php文件PHPIniDir"D:/prt/wamp/php5"#使Apache知道PHP的扩展文件路径
在Apache的htdocs文件夹下面新建一个测试文件,名称为“phpinfo.php”,用EditPlus 编辑写入如下代码:
echo phpinfo();
?>
打开火狐浏览器,输入http://localhost/phpinfo.php,出现如下界面,表示安装成功。
图2.13phpinfo.php显示的内容(3)安装MySQL
图2.14MySQL的安装欢迎界面
本页选项内容为MySQL官方网站发送相关
信息时的联系方式,用户可自行填写。
图 2.15填写用户联系信息
输入超级管理员root的登
录密码
图 2.16MySQL安全选项配置
图 2.17配置成功
测试MySQL服务是否打开。在命令行窗口中输入“net start mysql”。
图 2.18提示MySQL服务已经启动
接下来通过MySQL客户端登陆MySQL服务器端。在命令行窗口界面中进入MySQL的主目录,输入下列命令:
mysql–uroot-p
效果如图:
图 2.19访问MySQL客户端
输入在安装MySQL时设定的超级管理员root密码,效果如下图:
图 2.20访问MySQL客户端成功
测试MySQL是否安装配置成功,输入“select2+3”,效果如下:
图2.21输出正确结果
若结果正确,说明配置的MySQL已安装成功。接下来将PHP、Apache和MySQL 进行整合。在php.ini文件中寻找如下代码:
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
………
以上是PHP能够加载的模块,需要加载什么模块就将前面的分号去掉。例如需要加载MySQL模块,只要找到“;extension=php_mysql.dll”,去掉前面的分号即可。
此时有两种方式可以加载php_mysql.dll。一种是在环境变量里面编辑环境变量“Path”的值,在其值后面添加“D:\prt\wamp\php5;D:\prt\wamp\php5\ext;”。如下图:
图2.22编辑环境变量Path
另外一种是直接将D:\prt\wamp\php5中的libmysql.dll文件复制到C:\window目录,并在Apache的htdocs文件夹中新建文件,写入以下的代码:
$userName="root";//数据库用户名
$userPwd="123321";//数据库密码
$dbHost="localhost";//数据库所在主机地址
$link=mysql_connect($dbHost,$userName,$userPwd);
if(!$link){
die("连接不成功");
}
echo'连接成功';
mysql_close($link);
?>
打开火狐浏览器输入http://localhost/2.1.php,若效果如下图,则表明LAMP开发环
境配置成功。
图2.23提示成功
1.3PHP 的语法及流程控制
1.3.1PHP 的标记
PHP 是可以与HTML 混合使用的嵌入式语言。它有4种不同的标记风格:默认标记、短标记、脚本标记和ASP 标记。(1)默认标记。
PHP 的默认标记是以“”结束。如下:
(2)短标记
PHP 也可以使用XML 风格标记,以“”开始,以“?>”结束。如下所示:
(3)脚本标记
类似于JavaScript 的嵌入方式,该标记以“”标签结束。如下所示:
echo ‘这里使用的是PHP 默认标记’;?>
echo ‘这里使用的是PHP 短标记’;?>
echo‘这里使用的是PHP默认标记’;
(4)ASP标记
<%
echo‘这里使用的是ASP风格标记’;
%>
注意:在企业级的PHP开发中一般使用默认标记!
1.3.2PHP关键字
下表列出PHP常用的关键字:
__CLASS__clone endif
__FILE__const endswitch
__FUNCTION__continue endwhile
__METHOD__declare var
__LINE__defaule use
abstract xor extends
And do static
As else finale
For case elseif
foreach global break
endfor endforeach tyr
Throw public new
Or interface catch
在PHP中除变量名区分大小写外,关键字、用户自定义的类名、函数名、PHP 内置函数均不区分大小写。
1.3.3PHP语句
PHP语句和Java语言、C语言一样,在每行的结束位置使用分号“;”作为语句结束标志。如下所示:
图3.1PHP的语句
1.3.4PHP的输出函数
print();输出字符串或变量的值;
echo();输出字符串或变量的值;
printf();格式化输出;
sprintf();将输出指定到字符串变量,其本身不输出任何内容;
print_r();输出数组。
示例 3.1.Php