文档章节

Linux 下编译安装 PHP 5.6

legend3
 legend3
发布于 2015/08/14 09:16
字数 611
阅读 32
收藏 5
点赞 0
评论 0
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
粉丝 3
博文 90
码字总数 15820
作品 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
5月23日任务 LAMP架构介绍、MySQL、MariaDB介绍、 MySQL安装

11.1 LAMP架构 LAMP 是Linux、 Apache、 MySQL、 PHP的简写,其实就是把Apache、MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言。至于什么是php脚本语言,这边不介绍。Apa...

吕湘颖
05/09
0
0
LAMP架构介绍、MySQL和MariaDB介绍、MySQL安装

1、LAMP 架构介绍 LAMP 是Linux、 Apache、 MySQL、 PHP的简写,其实就是把Apache、MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言。至于什么是php脚本语言,这边不介绍。...

JolieLin
04/19
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
ansible自动化安装lnmp

今天尝试用ansible自动化编译安装了lnmp环境,是以把自己的见解和大家分享,不足之处还望大家指正。 lnmp的构成 lnmp = linux + nginx + mysql + php/python/perl 下面给大家介绍下我的安装步...

笨鸟晚
06/26
0
0
一键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
OneinStack 1.0 发布,一键 PHP/JAVA 安装工具

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

lj2007331
2015/09/01
4.8K
21
OneinStack 1.1 发布,一键 PHP/JAVA 安装工具

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

lj2007331
2015/12/02
4.2K
26
OneinStack 1.4 发布,一键 PHP/JAVA 安装工具

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

lj2007331
2016/07/12
3.2K
21

没有更多内容

加载失败,请刷新页面

加载更多

下一页

【面试题】盲人坐飞机

有100位乘客乘坐飞机,其中有一位是盲人,每位乘客都按自己的座位号就坐。由于盲人看不见自己的座位号,所以他可能会坐错位置,而自己的座位被占的乘客会随便找个座位就坐。问所有乘客都坐对...

garkey
今天
0
0
谈谈神秘的ES6——(二)ES6的变量

谈谈神秘的ES6——(二)ES6的变量 我们在《零基础入门JavaScript》的时候就说过,在ES5里,变量是有弊端的,我们先来回顾一下。 首先,在ES5中,我们所有的变量都是通过关键字var来定义的。...

JandenMa
今天
1
0
arts-week1

Algorithm 594. Longest Harmonious Subsequence - LeetCode 274. H-Index - LeetCode 219. Contains Duplicate II - LeetCode 217. Contains Duplicate - LeetCode 438. Find All Anagrams ......

yysue
今天
0
0
NNS拍卖合约

前言 关于NNS的介绍,这里就不多做描述,相关的信息可以查看NNS的白皮书http://doc.neons.name/zh_CN/latest/nns_background.html。 首先nns中使用的竞价货币是sgas,关于sgas介绍可以戳htt...

红烧飞鱼
今天
1
0
Java IO类库之管道流PipeInputStream与PipeOutputStream

一、java管道流介绍 在java多线程通信中管道通信是一种重要的通信方式,在java中我们通过配套使用管道输出流PipedOutputStream和管道输入流PipedInputStream完成线程间通信。多线程管道通信的...

老韭菜
今天
0
0
用Python绘制红楼梦词云图,竟然发现了这个!

Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具,下面我们来看看如何使用Python,来读红楼梦,绘制小...

猫咪编程
今天
1
0
Java中 发出请求获取别人的数据(阿里云 查询IP归属地)

1.效果 调用阿里云的接口 去定位IP地址 2. 代码 /** * 1. Java中远程调用方法 * http://localhost:8080/mavenssm20180519/invokingUrl.action * @Title: invokingUrl * @Description: * @ret......

Lucky_Me
今天
1
0
protobuf学习笔记

相关文档 Protocol buffers(protobuf)入门简介及性能分析 Protobuf学习 - 入门

OSC_fly
昨天
0
0
Mybaties入门介绍

Mybaties和Hibernate是我们在Java开发中应用的比较多的两个ORM框架。当然,目前Mybaties正在慢慢取代Hibernate,这是因为相比较Hibernate而言Mybaties性能更好,响应更快,更加灵活。我们在开...

王子城
昨天
2
0
编程学习笔记之python深入之装饰器案例及说明文档[图]

编程学习笔记之python深入之装饰器案例及说明文档[图] 装饰器即在不对一个函数体进行任何修改,以及不改变整体的原本意思的情况下,增加函数功能的新函数,因为这个新函数对旧函数进行了装饰...

原创小博客
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部