一、构建PHP运行环境
简介:
PHP即“Hypertext Preprocessor”(超级文本预处理语言)的缩写,是一种服务器端的HTML嵌入式脚本语言。PHP的语法混合了C、Java、Perl及部分自创的新语法,拥有更好的网页执行速度,更重要的是PHP支持大多数流行的数据库,在数据库层面的操作功能十分强大,而且能够支持UNIX、Windows、Linux等多种操作系统。
接下来将介绍如何构建PHP运行环境!!!
安装PHP软件包
PHP项目最初由Rasums Lerdorf在1994年创建,1995年发布第一个版本PHP1.0,本章将以稳定版源码包PHP-5.3.28.tar.gz为例。
1.准备工作
为了避免发生程序冲突等现象,建议先将rpm方式安装的PHP及相关依赖包(如果已存在)卸载。例如,根据实际安装情况可卸载PHP、php-cli、php-ldap、php-common、php-mysql等。另外,需要安装zlib-devel和libxml2-devel包。
[root@kang ~]# rpm -q php php-cli php-ldap php-common php-mysql
安装PHP的zlib-devel和libxml2-devel相关依赖包
2.安装扩展工具库
在实际企业中,一部分基于PHP开发的web应用系统会需要额外的扩展工具,如数据加密工具libmcrypt、mhash、mcrypt等
可以从站点:点击打开链接http://Sourceforge.net下载
安装PHP软件包之前,应先安装好这些扩展工具程序。
(1.)安装libmcrypt
[root@kang ~]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@kang ~]# cd /usr/src/libmcrypt-2.5.8/
[root@kang libmcrypt-2.5.8]# ./configure
[root@kang libmcrypt-2.5.8]# make && make install
[root@kang libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/
(2.)安装mhash
[root@kang ~]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[root@kang ~]# cd /usr/src/mhash-0.9.9.9/
[root@kang mhash-0.9.9.9]# ./configure
[root@kang mhash-0.9.9.9]# make && make install
[root@kang mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib/
(3.)安装mcrypt
[root@kang ~]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@kang ~]# cd /usr/src/mcrypt-2.6.8/
[root@kang mcrypt-2.6.8]# ./configure
通过上图所示,在configure配置mcrypt的时候报错,怎么办呢?
可以配置下面的环境变量,就基本解决了配置报错的问题!!!
[root@kang mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
再次执行./configure配置即可!!!
[root@kang mcrypt-2.6.8]# make && make install
3.编译安装PHP
该版本可以从PHP官方站点点击打开链接http://www.php.net下载
(1.)解包
将下载获得的PHP源码包解压并释放到/usr/src目录下,切换到展开后的源码目录。
[root@kang ~]# tar zxf php-5.3.28.tar.gz -C /usr/src/
[root@kang ~]# cd /usr/src/php-5.3.28/
(2.)配置
在定制PHP的配置选项时,最关键的是要指定httpd、mysqld的安装路径,以便添加相关支持设置,使LAMP各组件协同工作。除此之外,还可以指定安装路径,启用多字节支持,加密扩展支持等。
[root@kang php-5.3.28]# ./configure --prefix=/usr/local/php5 \
> --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs \
> --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 \
> --enable-mbstring
上述配置命令中,各选项的含义如下。
--prefix:指定将PHP程序安装到哪个目录下,如/usr/local/php5。
--with-mcrypt:加载数据加密等扩展工具支持。
--with-apxs2:设置Apache HTTP Server提供的apxs模块支持程序的文件位置。
--with-mysql:设置MySQL数据库服务程序的安装位置。
--with-config-file-path:设置PHP的配置文件php.ini将要存放的位置。
--enable-mbstring:启用多字节字符串功能,以便支持中文等代码。
(3.)编译及安装
[root@kang php-5.3.28]# make && make install
编译安装的过程可能需要较长时间,需耐心等待。若期间未出现错误,那么PHP程序的安装过程就基本完成了。
PHP配置调整
1.php.ini配置调整
(1.)php.ini的建立及基本设置
安装好PHP软件包以后,服务器并不会自动创建php.ini配置文件,但在源码目录下提供了两个样例配置文件,分别对应于开发环境、生产环境。
/usr/src/php-5.3.28/php.ini-development //开发版样例文件,用于学习、测试
/usr/src/php-5.3.28/php.ini-production //生产版样例文件,用于实际运营
选择其中一个样例文件,并复制到PHP的配置文件目录/usr/local/php5下,并改名为php.ini。
注意:在php.ini配置文件中,以分号开头的内容表示注释信息。
[root@kang ~]# cp /usr/src/php-5.3.28/php.ini-development /usr/local/php5/php.ini
[root@kang ~]# vim /usr/local/php5/php.ini
配置参数解释:
default_charset=“utf-8”:设置默认字符集为UTF-8
file_uploads=On:允许通过PHP网页上传文件
upload_max_filesize=2M:允许上传的文件大小限制
max_file_uploads=20:每个HTTP最多允许请求上传的文件数
post_max_size=8M:每次通过表单post提交的数据量限制
short_open_tag=On:允许识别PHP短语法标记,即...?>
(2.)添加ZendGuardLoader优化模块
为了进一步提高PHP程序的执行效率,优化页面加载速度,可以为PHP添加Zend公司开发的ZendGuardLoader优化模块。若需要加密PHP代码以限制未经授权的分发,还可以购买该公司的ZendGuard软件。
ZendGuardLoader优化模块适用于PHP5.3系列的版本,该模块可以从Zend公司的官方站点
点击打开链接http://www.zend.com下载。若使用PHP5.2系列版本,应改用较早的ZendOptimizer。为PHP安装及添加ZendGuardLoader模块支持的过程如下所述。
首先将下载的ZendGuardLoader包释放,并将其中php-5.3.x目录下的模块文件复制到PHP程序的模块文件夹
[root@kang ~]# tar zxf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/
[root@kang ~]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/
[root@kang php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php/
然后修改php.ini配置文件,添加加载及启用ZendGuardLoader.so模块的配置语句。
[root@kang php-5.3.x]# vim /usr/local/php5/php.ini
2.httpd.conf配置调整
要使httpd非完全支持PHP页面解析功能,需要通过LoadModule配置项加载PHP程序的模块文件,并通过AddType配置项添加对".php"类型网页文件的支持。除此以外,还应修改DirectoryIndex配置行,添加index.php配置项,以识别常见的PHP首页文件。
[root@kang ~]# vim /usr/local/httpd/conf/httpd.conf
重启httpd服务:
[root@kang ~]# /usr/local/httpd/bin/apachectl restart
在上述配置内容中,LoadModule行应该会在安装PHP的过程中自动添加,其中的php5_module表示模块名称;modules/libphp5.so表示模块文件位置。而AddType行需要手动添加,DirectoryIndex行在原有基础上对其进行修改即可。
3.编写PHP测试页,验证PHP服务
编写一个.php格式的测试网页文件,使用PHP内建的“phpinfo()”函数显示服务器的PHP环境信息,PHP代码应包括在“”标记之间。将测试网页文件放置到网站根目录下,如/usr/local/httpd/htdocs/test.php。
[root@kang ~]# vim /usr/local/httpd/htdocs/test.php
然后通过浏览器访问测试网页,如http://192.168.197.181/test.php。若能够看到PHP程序的版本号、配置命令、运行变量等相关信息,则表示此web服务器已经能正常显示PHP网页;若还能看到Zend引擎相关信息,则表示ZendGuardLoader模块也已成功启用。
到这里有关部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务,就演示完毕了!!!
希望对你有所帮助!再见!!!