构建 PHP运行环境

PHP 即Hypertext Preprocessor(超文本预处理语言)的缩写,是一种服务器端的 HTML 嵌入式脚本语言。PHP 混合了 C 、java 、perl 的语法及部分自创的新语法,拥有更好的网页执行速度,更重要的是 PHP 支持绝大多数流行的数据库,在数据库层面的操作功能十分强大。

安装 PHP软件包

PHP 项目最初由 Rasums Lerdorf 在1994年创建,1995年发布第一个版本 PHP1.0。
PHP 官方网站 http://www.php.net 下载。

1.准备工作

为了避免发生程序冲突等现象,建议先将RPM 方式安装的 PHP及相关依赖包(如果已存在)卸载,

[root@ns1 ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps
[root@ns1 Packages]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm xz-devel-5.2.2-1.el7.x86_64.rpm
2.安装扩展工具库
  • 数据加密工具 libmcrypt 、mhash 、mcrypt (可以从站点 http://sourceforge.net 下载)

  • 安装mcrypt

[root@www ~]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@www ~]# cd /usr/src/mcrypt-2.6.8/
[root@www mcrypt-2.6.8]# ./configure
[root@www mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib
:$LD_LIBRARY_PATH
[root@www mcrypt-2.6.8]# ./configure
[root@www mcrypt-2.6.8]# make && make install

3.编码安装 PHP

(1). 解包
将下载获得的 PHP源码包解压并释放到 /usr/src 目录下。

[root@ns1 src]# tar zxf php-5.5.38.tar.gz 
[root@ns1 src]# cd php-5.5.38/

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

[root@ns1 php-5.5.38]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring
[root@ns1 php-5.5.38]# echo $?
0

上面配置命令中的选项含义:

  • –prefix:指定将 PHP程序安装路径。
  • –with-mcrypt:加载数据加密等扩展工具支持。
  • –with-apxs2:设置 Apache HTTP server 提供的 apxs模块支持程序的文件位置。
  • –with-mysqli:设置 MySQL数据库服务程序的安装位置。
  • –with-config-file-path:设置 PHP的配置文件 php.init 将要存放的位置。
  • –enable-mbstring:启用多字节字符串功能,以便支持中文等代码。

(3). 编译及安装

[root@ns1 php-5.5.38]# make && make install
[root@ns1 php-5.5.38]# echo $?
0

设置 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.38/php.ini-development     //开发样板,用于学习测试。
/usr/src/php-5.5.38/php.ini-production      //开发样板,用于实际运营

选择其中一个样例文件,并复制到 PHP的配置文件目录 /usr/local/php5 下,并改名为 php.ini。
通过修改 php.ini 文件中的配置内容,可以控制 PHP 网页的执行特性。

[root@ns1 ~]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini
[root@ns1 ~]# grep -v "^;" /usr/local/php5/php.ini |grep -v "^$"
[PHP]
engine = On
short_open_tag = On
asp_tags = Off
precision = 14
output_buffering = 4096

······/					//省略部分内容
[root@ns1 ~]# 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 优化模块。

[root@ns1 ~]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/
[root@ns1 ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[root@ns1 zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/

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

[root@ns1 zend-loader-php5.5-linux-x86_64]# vim /usr/local/php5/php.ini 
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
2.httpd.conf 配置调整

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

[root@ns1 ~]# vim /usr/local/httpd/conf/httpd.conf

LoadModule php5_module        modules/libphp5.so
    AddType application/x-httpd-php .php
    DirectoryIndex index.php index.html
[root@ns1 ~]# /usr/local/httpd/bin/apachectl restart   //重启服务以更新配置

上面的配置内容中,LoadModule 行应该会在安装 PHP的过程中自动添加,其中的 “php5_module” 表示模块名称, “modules/libphp5.so” 表示模块文件位置。而 AddType行需要手动添加,DirectoryIndex 行在原有基础上对其进行修改。

测试 LAMP 协同工作。

  • 测试PHP网页能否正确显示
[root@ns1 ~]# vim /usr/local/httpd/htdocs/test1.php

<?php
phpinfo( );
?>

通过浏览器访问测试网页 :http://192.168.160.7/test1.php
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OuTSHe1T-1595426173013)(img/7.22.png)]

  • 测试PHP网页能否访问MySQL数据库
    其中,“mysqli_connect()” 函数用于连接 MySQL 数据库,需要指定目标主机地址,以及授权访问的用户名、密码。
[root@ns1 ~]# vim /usr/local/httpd/htdocs/test2.php

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

然后访问测试网页 :http://192.168.160.7/test2.php
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c4M16U14-1595426173016)(img/7.22.1.png)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值