文档章节

Linux 下编译安装 PHP 5.6

legend3
 legend3
发布于 2015/08/14 09:16
字数 611
阅读 36
收藏 5
php

系统环境:

  • CentOS 6.5 / 7.0 x86_64

  • Fedora 20 x86_64

下载 PHP 源码包

# wget http://cn2.php.net/distributions/php-5.6.0.tar.xz# xz -d php-5.6.0.tar.xz# tar xf php-5.6.0.tar -C /usr/local/src/

添加 epel 源

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装依赖

# yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel

注:如果你使用的 epel 7 的源,可能会没有 mcrypt mhash mhash-devel 几个包,在http://dl.fedoraproject.org/pub/epel/6/x86_64/ 中下载,使用 yum localinstall xxx.rpm 或 rpm -Uvh xxx.rpm 手动安装即可。

创建 www 用户

# groupadd www# useradd -g www -s /sbin/nologin -M www

编译安装

# cd /usr/local/src/php-5.6.0/# ./configure \--prefix=/usr/local/php56 \--with-config-file-path=/usr/local/php56/etc \--enable-inline-optimization \--disable-debug \--disable-rpath \--enable-shared \--enable-opcache \--enable-fpm \--with-fpm-user=www \--with-fpm-group=www \--with-mysql=mysqlnd \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-gettext \--enable-mbstring \--with-iconv \--with-mcrypt \--with-mhash \--with-openssl \--enable-bcmath \--enable-soap \--with-libxml-dir \--enable-pcntl \--enable-shmop \--enable-sysvmsg \--enable-sysvsem \--enable-sysvshm \--enable-sockets \--with-curl \--with-zlib \--enable-zip \--with-bz2 \--with-readline

参数说明:

""" 安装路径 ""
"--prefix=/usr/local/php56 \"
"" php.ini 配置文件路径 ""
"--with-config-file-path=/usr/local/php56/etc \"
"" 优化选项 ""
"--enable-inline-optimization \--disable-debug \--disable-rpath \--enable-shared \"
"" 启用 opcache,默认为 ZendOptimizer+(ZendOpcache) ""
"--enable-opcache \""" FPM """--enable-fpm \--with-fpm-user=www \--with-fpm-group=www \""" MySQL """--with-mysql=mysqlnd \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \"
"" 国际化与字符编码支持 ""
"--with-gettext \--enable-mbstring \--with-iconv \"
"" 加密扩展 ""
"--with-mcrypt \--with-mhash \--with-openssl \"
"" 数学扩展 ""
"--enable-bcmath \"
"" Web 服务,soap 依赖 libxml "
""--enable-soap \--with-libxml-dir \"
"" 进程,信号及内存 ""
"--enable-pcntl \--enable-shmop \--enable-sysvmsg \--enable-sysvsem \--enable-sysvshm \""" socket & curl """--enable-sockets \--with-curl \"
"" 压缩与归档 ""
"--with-zlib \--enable-zip \--with-bz2 \"
"" GNU Readline 命令行快捷键绑定 ""
"--with-readline

如果你的 Web Server 使用的 Apache 请添加类似:--with-apxs2=/usr/local/apache-xx/bin/apxs 参数。

关于 mysqlnd 请查看 什么是 PHP 的 MySQL Native 驱动? 或查看 MySQL 官方介绍:MySQL native driver for PHP, 或 Installation on Unix

PHP 5.6 內建了 phpdbg 交互式调试器,通过 --enable-phpdbg 开启,会在 PREFIX/bin 目录下产生一个 phpdbg 命令,感兴趣的可以试一下。

更多编译参数请使用 ./configure --help 查看。

# make -j8# make install

如果想重新安装:

# make clean# make clean all# ./configure ...# make -j8# make install

配置 PHP

配置文件

# cp php.ini-development /usr/local/php56/etc/php.ini

php-fpm 服务

# cp /usr/local/php56/etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm56# chmod +x /etc/init.d/php-fpm56

启动 php-fpm

# service php-fpm56 startStarting php-fpm  done

php-fpm 可用参数 start|stop|force-quit|restart|reload|status

添加 PHP 命令到环境变量

编辑 ~/.bash_profile,将:

PATH=$PATH:$HOME/bin改为:PATH=$PATH:$HOME/bin:/usr/local/php56/bin

使 PHP 环境变量生效:

# . ~/.bash_profile

查看看 PHP 版本

# php -vPHP 5.6.0 (cli) (built: Sep 23 2014 03:44:18) Copyright (c) 1997-2014 The PHP GroupZend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies
转载请注明出处。
本文地址:http://blog.aboutc.net/linux/65/compile-and-install-php-on-linux


本文转载自:http://blog.aboutc.net/linux/65/compile-and-install-php-on-linux

共有 人打赏支持
legend3
粉丝 4
博文 88
码字总数 13908
作品 0
深圳
OneinStack 1.7 发布,一键 PHP/JAVA 安装工具

OneinStack 1.7 发布了,这个脚本是使用 shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine/OpenResty、 MySQL/MariaDB/Percona/MongoDB/PostgreSQL、PHP、A...

lj2007331
04/25
0
0
如何在 Ubuntu 中切换多个 PHP 版本

有时,最新版本的安装包可能无法按预期工作。你的程序可能与更新的软件包不兼容,并且仅支持特定的旧版软件包。在这种情况下,你可以立即将有问题的软件包降级到其早期的工作版本。请参阅我们...

24%
08/26
0
0
OneinStack 1.3 发布,一键 PHP/JAVA 安装工具

OneinStack 1.3 发布了,这个脚本是使用 shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine/OpenResty、 MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用...

lj2007331
2016/04/29
1K
11
OneinStack 1.2 发布,一键 PHP/JAVA 安装工具

这个脚本是使用 shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine、 MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用于CentOS 5~7(包括redhat)、Deb...

lj2007331
2016/03/03
2.6K
8
一键PHP/JAVA安装工具--OneinStack

OneinStack – 一键PHP/JAVA安装工具 OneinStack包含以下组合: lnmp(Linux + Nginx+ MySQL+ PHP) lamp(Linux + Apache+ MySQL+ PHP) lnmpa(Linux + Nginx+ MySQL+ PHP+ Apache):Ngi......

lj2007331
2015/08/04
2.7K
0

没有更多内容

加载失败,请刷新页面

加载更多

javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
0
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
0
0
学习设计模式——中介者模式

1. 认识中介者模式 1. 定义:用一个中介对象来封装一系列的对象交互行为,中介者使得各对象不需要显式的互相引用,从而使其松散耦合,独立的改变他们之间的交互。 2. 结构: Mediator:中介者...

江左煤郎
昨天
0
0
深入理解Plasma(1):Plasma 框架

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章作为开篇,主要目的是理解 Plasma 框架。 Plasma 作为以太坊的二层扩容...

HiBlock
昨天
0
0
Java 8 日期 示例

Java 8 推出了全新的日期时间API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。Java也意识到需...

阿刚ABC
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部