LAMP平台部署及应用

一、构建PHP运行环境

        PHP 即 Hypertext Preprocessor(超级文本预处理语言)的缩写,是一种服务器端的HTML嵌入式脚本语言。PHP的语法混合了C. Java、Perl及部分自创的新语法,拥有更好的网页执行速度,更重要的是PHP支持绝大多数流行的数据库,在数据库层面的操作功能十分强大,而且能够支持UNIX,Windows,Linux 等多种操作系统。
        本节将介绍如何构建PHP运行环境,以实现LAMP协同架构。其前提条件是服务器中已经编译安装好 Apache HTTP Server 和MySQL数据库。

1.安装PHP软件包

(1)准备工作

        为了避免发生程序冲突等现象,建议先将RPM方式安装的php及相关依赖包(如果已存在)卸载。例如,根据实际安装情况可卸载php.php-cli、php-ldap. php-common,php-mysql等。另外,需要安装 zlib-devel和 libxml2-devel包。

[root@localhost ~]# rpm -ivh /mnt/Packages/zlib-devel-1.2.7-18.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/xz-devel-5.2.2-1.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm

(2)下载并安装扩展工具库

        在实际企业应用中,一部分基于PHP开发的Web应用系统会需要额外的扩展工具,如数据加密工具 libmcrypt、mhash、mcrypt等(可以从站点 http://sourceforge.net下载)。安装PHP软件包之前,应先安装好这些扩展工具程序。

1) 解包、安装libmcrypt

[root@localhost php]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@localhost src]# cd libmcrypt-2.5.8/
[root@localhost libmcrypt-2.5.8]# ./configure
[root@localhost libmcrypt-2.5.8]# make
[root@localhost libmcrypt-2.5.8]# make install
[root@localhost libmcrypt-2.5.8]# ln -s /usr/local/libmcrypt.* /usr/lib/

2) 解包、安装mhash

[root@localhost php]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[root@localhost src]# cd mhash-0.9.9.9/
[root@localhost mhash-0.9.9.9]# ./configure
[root@localhost mhash-0.9.9.9]# make
[root@localhost mhash-0.9.9.9]# make install
[root@localhost mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/

3) 解包、安装mcrypt

[root@localhost php]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@localhost src]# cd mcrypt-2.6.8/
[root@localhost mcrypt-2.6.8]# ./configure
[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib
                                  (解决configure配置报错)
[root@localhost mcrypt-2.6.8]# ./configure
[root@localhost mcrypt-2.6.8]# make
[root@localhost mcrypt-2.6.8]# make install

(3)编译安装PHP

1)解包

将下载获得的PHP源码包解压并释放到/usr/src目录下,切换到展开后的源码目录。

2)配置

在定制PHP的配置选项时,最关键的是要指定httpd、mysqld的安装路径,以便添加相关支持设置,使LAMP各组件协同工作。除此之外,还可以指定安装路径,启用多字节支持、加密扩展支持等。

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

  • --prefix:指定将PHP程序安装到哪个目录下,如/usr/local/php5。
  • --with-mcrypt:加载数据加密等扩展工具支持。
  • --with-apxs2:设置 Apache HTTP Server提供的apxs模块支持程序的文件位置。
  • --with-mysql:设置MySQL数据库服务程序的安装位置。
  • --with-mysqli:添加mysqli 扩展支持。
  • --with-config-file-path:设置PHP的配置文件php.ini将要存放的位置。
  • --enable-mbstring:启用多字节字符串功能,以便支持中文等代码。

3)编译、安装

[root@localhost php-5.5.38]# make
[root@localhost php-5.5.38]# make install

2.设置LAMP组件环境

        设置LAMP组件环境,主要包括对PHP的配置文件 php.ini.Apache的配置文件httpd.conf的调整。前者用来确定PHP的运行参数,后者用来加载libphp5.so模块,以便支持PHP网页。

(1)php.ini配置调整

1)php.ini的建立及基本设置

        安装好PHP软件包以后,服务器并不会自动创建php.ini配置文件,但在源码目录下提供了两个样例配置文件,分别对应于开发环境、生产环境。

/usr/src/php-5.5.28/php.ini-development       //开发版样例文件,用于学习、测试
/usr/src/php-5.5.28/php.ini-production        //生产版样例文件,用于实际运营

        选择其中一个样例文件,并复制到PHP的配置文件目录/usr/local/php5下,并改名为php.ini。在php.ini 配置文件中,以分号开头的内容表示注释信息。

[root@localhost php-5.5.38]# cp php.ini-development /usr/local/php5/php.ini
[root@localhost php-5.5.38]# grep -v "^;" /usr/local/php5/php.ini | grep -v "^$"

        通过修改php.ini文件中的配置内容,可以控制PHP网页的执行特性,如是否允许用户上传文件.设置上传文件的大小限制、设置默认使用的字符集,加载额外的扩展模块等。如果没有特别要求,可以直接沿用默认配置,不做任何修改。

[root@localhost php-5.5.38]# vim /usr/local/php5/php.ini

[PHP]

default_charset = "utf-8"
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
post_max_size = 8M
short_open_tag = On
extension = php_mysql.dll

2)添加ZendGuardLoader 优化模块

        ZendGuardLoader 优化模块适用于PHP 5.3到PHP 5.6系列版本,该模块可以从Zend公司的官方站点 http://www.zend.com下载。若使用PHP 5.2系列版本,应改用较早的ZendOptimizer。为PHP安装及添加ZendGuardLoader 模块支持的过程如下所述。
        将下载的ZendGuardLoader 包解压缩,并将源码目录下的模块文件复制到PHP程序的模块文件夹。

[root@localhost zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php

修改php.ini 配置文件,添加加载及启用ZendGuardLoader.so模块的配置语句

[root@localhost zend-loader-php5.5-linux-x86_64]# vim /usr/local/php5/php.ini

[PHP]

default_charset = "utf-8"
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
post_max_size = 8M
short_open_tag = On
extension = php_mysql.dll
zend extension = /usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

(2)httpd.conf配置调整

        要使httpd服务器支持PHP页面解析功能,需通过LoadModule配置项加载PHP程序的模块文件,并通过AddType 配置项添加对“.php”类型网页文件的支持。除此之外,还应修改Directorylndex配置行,添加index.php配置项,以识别常见的PHP首页文件。由于前面章节做虚拟Web站点,开启了 Include conf/extra/httpd-vhosts.conf配置项,所以本章中需要将其注释掉。

[root@localhost zend-loader-php5.5-linux-x86_64]# vim /usr/local/httpd/conf/httpd.conf

[root@localhost zend-loader-php5.5-linux-x86_64]# /usr/local/httpd/bin/apachectl restart
                                                    重启服务以更新配置

3.测试LAMP协同工作

(1)测试PHP网页能否正确显示

        编写一个“.php”格式的测试网页文件,使用PHP内建的“phpinfo( )”函数显示服务器的 PHP环境信息,PHP代码应包括在“ <? php …? >”标记之间。将测试网页文件放置到网站根目录下,如/usr/local/httpd/htdocs/test1.php。

[root@localhost htdocs]# vim testl.php

<?php
phpinfo();
?>

        通过浏览器访问测试网页,如 http://www.bdqn.com/test1.php。若能够看到PHP程序的版本号、配置命令、运行变量等相关信息,则表示此Web服务器已经能正常显示PHP网页;若还能看到Zend引擎相关信息,则表示ZendGuardLoader模块也已成功启用。

(2)测试PHP网页能否访问MySQL数据库

        编写一个测试网页文件test2.php,添加简单的数据库操作命令,用于验证与MySQL服务器的连接、查询等操作。其中,"mysqli_connect()”函数用于连接MySQL数据库,需要指定目标主机地址,以及授权访问的用户名、密码。

[root@localhost htdocs]# vim testl1.php

<?php
$link=mysqli_connect('localhost','root','hhxzjsbb');
if($link) echo"恭喜你,数据库连接成功啦!!!";
mysqli_close($link);
?>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值