一键编译安装php5.6.12

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

一、系统环境说明

      本次实验基于CentOS6.8_x64 (6.x均可),编译安装php5.6.12 包含以下四个扩展模块(包):

libmcrypt-2.5.8.tar.gz ;php-redis.tar.gz;jpegsrc.v8d.tar.gz ;zendopcache-7.0.5.tar.gz

可自行到对应官方网站 下载最新软件包,本例软件包版本如上所列,如需要本例软件压缩包php5.6.12.tar.gz请到以下百度网盘地址中获取 ,压缩包中包含以上安装包,并附自动安装脚本和php-fpm56系统服务脚本;

链接:https://pan.baidu.com/s/1kUHaxDX  如打不开请留言联系我!


二、脚本及说明

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/bin/bash
 
src=$( pwd )     #解压软件包进入目录,或自行下载所需要软件包存放位置
#安装依赖环境
yum  install  -y  gcc gcc-c++ openssl openssl-devel libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel gd  bzip2  bzip2 -devel curl curl-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel
cd  $src
tar  zxvf libmcrypt-2.5.8. tar .gz
cd  libmcrypt-2.5.8
. /configure
make  &&  make  install
cd  $src
tar  zxvf jpegsrc.v8d. tar .gz
cd  jpeg-8d
. /configure  - enable -shared - enable -static
make  &&  make  install  clean
cd  $src
tar  xvf php-5.6.12. tar .gz
cd  php-5.6.12
. /configure  --prefix= /usr/php5 .6 \
--with-libxml- dir = /usr/include/libxml2  \
--with-mysql --with-mysqli --with-gd \
-- enable -gd-native-ttf --with-zlib --with-mcrypt \
--with-pdo-mysql -- enable -shmop -- enable -sockets \
-- enable -zip -- enable -fpm -- enable -mbstring \
--with-zlib- dir  --with-bz2 --with-curl --with-jpeg- dir = /usr/local  \
--with-png- dir = /usr/local  --with-freetype- dir = /usr/local/  \
--with-iconv -- enable -xml -- enable -bcmath -- enable -sysvsem \
--with-openssl \
-- enable -pcntl --with-gettext \
-- enable -session \
-- enable -exif
make
make  install
###Configure php-fpm
[ -d  /data1/log/  ] ||  mkdir  -pv data1 /log
echo  'export PATH=/usr/php5.6/bin:$PATH'  > /etc/profile .d /php5 .6.sh
source  /etc/profile .d /php5 .6.sh
cd  $src
cd  php-5.6.12
\ cp  php.ini-production  /usr/php5 .6 /etc/php .ini
rm  -rf  /etc/php .ini
ln  -s  /usr/php5 .6 /etc/php .ini  /etc/php .ini
ln  -s  /usr/php5 .6 /etc/php .ini  /usr/php5 .6 /lib/php .ini
\ cp  /usr/php5 .6 /etc/php-fpm .conf.default  /usr/php5 .6 /etc/php-fpm .conf
sed  -i  "s/^;pid = run\/php-fpm.pid/pid = run\/php-fpm56.pid/g"  /usr/php5 .6 /etc/php-fpm .conf
if  [ -u nginx ]
then
sed  -i  "s/^user = nobody/user = nginx/g"  /usr/php5 .6 /etc/php-fpm .conf
sed  -i  "s/^group = nobody/group = nginx/g"  /usr/php5 .6 /etc/php-fpm .conf
fi
sed  -i  "s/^;error_log = log\/php-fpm.log/error_log = \/data1\/log\/php-fpm56.log/g"  /usr/php5 .6 /etc/php-fpm .conf
cp  $src_tmp /php-fpm56  /etc/init .d /php-fpm56
chmod  +x  /etc/init .d /php-fpm56
chkconfig --add php-fpm56
chkconfig php-fpm56 on
service php-fpm56 start
#Add Zendopcache
cd  $src
tar  xvf zendopcache-7.0.5. tar .gz
cd  zendopcache-7.0.5
phpize
. /configure
make
make  install
cd  $src
tar  xvf php-redis. tar .gz
cd  php-redis-2.2.7
phpize
. /configure
make
make  install
sed  -i  "716s:.*:extension_dir = \/usr\/php5.6\/lib\/php\/extensions\/no-debug-non-zts-20131226\/:g"  /usr/php5 .6 /lib/php .ini
sed  -i  "s/^;date.timezone =/date.timezone = Asia\/Shanghai/g"  /usr/php5 .6 /lib/php .ini
sed  -i  "s/^expose_php = On/expose_php = Off/g"  /usr/php5 .6 /lib/php .ini
sed  -i  "s/^display_errors = Off/display_errors = On/g"  /usr/php5 .6 /lib/php .ini
sed  -i  "s/^;error_log = php_errors.log/error_log = \/data1\/log\/php_errors.log/g"  /usr/php5 .6 /lib/php .ini
sed  -i  "s/^display_startup_errors = Off/display_startup_errors = On/g"  /usr/php5 .6 /lib/php .ini
echo  'zend_extension= /usr/php5 .6 /lib/php/extensions/no-debug-non-zts-20131226/opcache .so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1'>> /usr/php5 .6 /lib/php .ini
echo  "extension=redis.so"  >> /usr/php5 .6 /lib/php .ini

说明 :脚本中定义编译安装到/usr/php5.6 如果需要安装到别的目录,请自行修改


三、安装过程

1、测试安装步骤

解压下载好的压缩包并进入解压后的软件包目录并运行一键安装脚本auto_install.sh

1
2
3
#tar xvf php5.6.12.tar.gz
#cd php5.6.12
#./auto_install.sh

安装过程随机器性能需要等待一段时间;

2、验证

安装过程省略

安装完成后系统登出,再登录执行以下验证

#php -v

PHP 5.6.12 (cli) (built: Jun 29 2017 17:21:49) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies


#service php-fpm56 status

php-fpm56 (pid 22970) is running...


四、安装扩展

php安装扩展包分为pecl安装,这个比较简单类似yum命令

pecl "安装的包"

编译安装扩展包

这种方法可以在php安装好后,在原编译安装包目录中执行

以下以安装ftp扩展为例:

php安装ftp扩展包 

由于ftp扩展源码在php源码中有,所以直接到之前的目录中如下:

1
2
3
4
5
6
7
8
9
10
11
12
cd  /tmp/php5 .6.12 /php5 .6.12 /php-5 .6.12 /ext/ftp         
phpize 
. /configure  --with-php-config= /usr/php5 .6 /bin/php-config       #指定php的环境变量配置
  
make  &&  make  install                                                     #编译并安装
Installing shared extensions:      /usr/php5 .6 /lib/php/extensions/no-debug-non-zts-20131226/                 #扩展库生成在此目录
  
#修改php.ini文件
#vim /usr/php5.6/lib/php.ini  
添加 
extension_dir =  /usr/php5 .6 /lib/php/extensions/no-debug-non-zts-20131226/ 
extension= ftp .so

如果php源码包被删除了 也没有 关系 直接下载需要的扩展包源码然后执行上面的步聚即可.


本实验仅供参考,如有不当之处欢迎指正!










本文转自 dyc2005 51CTO博客,原文链接:http://blog.51cto.com/dyc2005/1943227,如需转载请自行联系原作者
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
运维 Unix Linux
Linux系统 PHP安装expect扩展详解
Linux系统 PHP安装expect扩展详解
39 5
|
4月前
|
应用服务中间件 PHP nginx
|
7月前
|
Apache PHP 数据安全/隐私保护
(MAC)PHP Apache 安装与配置
(MAC)PHP Apache 安装与配置
220 0
|
7月前
|
关系型数据库 MySQL Unix
PHP MySql 安装与连接
PHP MySql 安装与连接
130 0
|
7月前
|
算法 PHP 数据安全/隐私保护
【实战】php goto解密工具,无需安装php环境,直接解密
php goto解密方法,php解密工具,goto解密,php微擎解密,代码可读性,代码可维护性
387 1
|
8月前
|
关系型数据库 MySQL PHP
PHP服务环境配置之 WampServer的安装与环境配置
PHP服务环境配置之 WampServer的安装与环境配置
326 0
|
4月前
|
Linux 应用服务中间件 PHP
Linux下搭建PHP环境-源码编译安装PHP7.2
Linux下搭建PHP环境-源码编译安装PHP7.2
151 0
|
25天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
22 0
|
8月前
|
IDE NoSQL 关系型数据库
开发php,需要安装哪些工具
开发php,需要安装哪些工具
|
8月前
|
消息中间件 NoSQL 关系型数据库
Linux安装 OpenResty、Nginx、PHP、Mysql、Redis、Lua、Node、Golang、MongoDB、Kafka等
Linux安装 OpenResty、Nginx、PHP、Mysql、Redis、Lua、Node、Golang、MongoDB、Kafka等
104 0