部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务

一、构建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-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第1张图片

安装PHP的zlib-devel和libxml2-devel相关依赖包

部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第2张图片

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 
部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第3张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第4张图片

[root@kang libmcrypt-2.5.8]# make && make install
部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第5张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第6张图片

[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 
部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第7张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第8张图片

[root@kang mhash-0.9.9.9]# make && make install
部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第9张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第10张图片

[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 
部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第11张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第12张图片

通过上图所示,在configure配置mcrypt的时候报错,怎么办呢?

可以配置下面的环境变量,就基本解决了配置报错的问题!!!

[root@kang mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
再次执行./configure配置即可!!!

部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第13张图片部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第14张图片

[root@kang mcrypt-2.6.8]# make && make install
部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第15张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第16张图片

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
部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第17张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第18张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第19张图片

上述配置命令中,各选项的含义如下。

--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-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第20张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第21张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第22张图片

编译安装的过程可能需要较长时间,需耐心等待。若期间未出现错误,那么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-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第23张图片

选择其中一个样例文件,并复制到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
部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第24张图片
通过修改php.ini文件中的配置内容,可以控制PHP网页的执行特性,如是否允许用户上传文件、设置上传文件大小的大小限制,设置默认使用的字符集、加载额外的扩展模块等。如果没有特别要求,可以直接沿用默认配置,不做任何修改。

[root@kang ~]# vim /usr/local/php5/php.ini 
部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第25张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第26张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第27张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第28张图片

配置参数解释:

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 
部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第29张图片

2.httpd.conf配置调整

 要使httpd非完全支持PHP页面解析功能,需要通过LoadModule配置项加载PHP程序的模块文件,并通过AddType配置项添加对".php"类型网页文件的支持。除此以外,还应修改DirectoryIndex配置行,添加index.php配置项,以识别常见的PHP首页文件。

[root@kang ~]# vim /usr/local/httpd/conf/httpd.conf
部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第30张图片 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第31张图片

重启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服务_第32张图片

部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务_第33张图片

到这里有关部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务,就演示完毕了!!!

希望对你有所帮助!再见!!!












你可能感兴趣的:(薄凉小伙的运维成长之路)