文档章节

php7编译安装

bellpost
 bellpost
发布于 2016/06/11 00:24
字数 704
阅读 97
收藏 1
php

php7编译安装

#一.安装环境

  • 系统版本
[root@localhost ~]# head -n 1 /etc/issue
CentOS release 6.5 (Final)
  • 软件版本 php-7.0.7.tar.gz
  • 安装编译代码需要环境
yum -y groupinstall "Development Tools"
yum -y install  libmcrypt libmcrypt-devel  libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel bzip2-devel

二.安装libiconv库

如果make时报错,报错信息如下:

make: *** [sapi/cli/php] Error 1
/usr/bin/ld: cannot find -liconv
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

则需要安装libiconv库,首先下载libiconv:

# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
# tar -xf libiconv-1.14.tar.gz
# ./configure –prefix=/usr/local/libiconv
# make && make install
libiconv库安装完毕后,建议把/usr/local/libiconv/lib库加入到到/etc/ld.so.conf文件中,然后使用/sbin/ldconfig使其生效。如下:
# echo “/usr/local/libiconv/lib” >> /etc/ld.so.conf
# ldconfig
网上提供了其他两种方法,是基于已安装该库后,报错的问题,解决方式如下:
1.在make时添加如下参数:make ZEND_EXTRA_LIBS='-liconv'
2.编辑Makefile,在: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然后重新再次 make 即可。
参考以下两篇文章[安装PHP出现make: *** [sapi/cli/php] Error 1 解决办法][1]
[烂泥:php5.6源码安装与apache集成][2]

#三.编译php参数解释 --prefix=/usr/local/php #指定安装的路径 --enable-mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock #与mysql通信的套接字指定 --with-mysqli=mysqlnd #解决php依赖mysql的文件 --with-pdo-mysql=mysqlnd #MySQL的支持。可以接MySQL库目录,可以通过填写dir路径 --with-openssl # 包括OpenSSL的支持(需要OpenSSL版本大于 0.9.8 ) --enable-mbstring # 提供多字节字符串的支持 --with-freetype-dir --with-jpeg-dir --with-png-dir
--with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2[=FILE] # 编译共享的 Apache 2.0 模块。FILE 是可选的 Apache apxs 工具的路径,默认指向 apxs。 --with-mcrypt --with-config-file-path=/etc # PHP7的配置目录 --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts 更多的选项在安装的目录下参见./configure --help|more

#四.编译安装httpd

# tar xvf php-7.0.7.tar.gz 
# cd php-7.0.7
# ./configure --prefix=/usr/local/php --enable-mysqlnd  --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl  --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
# make 
# make test
# make install
# cd /usr/local/php

到解压缩后的目录下,找到php的配置文件。
# pwd
/root/php-7.0.7
# cp php.ini-production /etc/php.ini

#五.将php的安装目录的bin加入PATH:
```bash
在/etc/profile.d目录下面创建php.sh,添加
PATH=$PATH:/usr/local/php/bin

#六.输出php的man手册至man命令的查找路径: 编辑/etc/man.config,添加如下行即可:

MANPATH  /usr/local/php/php/man

#七.输出apache的头文件至系统头文件路径/usr/include: 这可以通过简单的创建链接实现:

# ln -sv /usr/local/php/include  /usr/include/php

php7编译到此结束。动手做一做吧!

© 著作权归作者所有

bellpost
粉丝 1
博文 3
码字总数 2511
作品 0
荆州
私信 提问
编译安装PHP7并安装Redis扩展Swoole扩展

编译安装PHP7并安装Redis扩展Swoole扩展 在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了 本php7是编译成fpm-php 使用的, 如果是apache那么编译参数应该为 --with-apx...

豆花饭烧土豆
2016/02/15
59
0
CentOS 7 编译安装PHP7

说明:非常感谢《2015博客升级记(五):CentOS 7.1编译安装PHP7》的博主vfhky 环境说明 VMware 12 中搭建的CentOS 7 x64 4核 2G内存 环境中已经安装了http://blog.csdn.net/u014595668/artic...

lizer2016
2015/12/05
0
0
编译安装php7.0.7

系统环境 centos x64 安装编译工具 1、准备安装包列表 2、编译安装 libxml2 3、编译安装 libmcrypt 4、编译安装 freetype 5、编译安装 openssl 6、安装PHP 6、问题集锦 再次重复 5步骤...

蛋派
2016/06/22
61
0
Centos7 安装 PHP7最新版

Centos7 安装 PHP7最新版 PHP编译安装适合Centos6以及Centos7 一、简单安装 1.安装 rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm 2.安装PHP7的r......

baishuchao
2017/08/21
0
0
php7.1源码包安装

安装php7 下载与解压 安装php 编译与编译安装 设置配置文件 两版本PHP冲突处理 如果安装了php5后又安装了php7,那么调用Apache调用只能用其中一个; 那么就需要修改配置文件 vim /usr/local...

若白衣
2018/02/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IT兄弟连 Java语法教程 Java语言的跨平台特性

什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台。 CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种...

老码农的一亩三分地
5分钟前
0
0
http传值问题

这两天遇到一个问题 ,与一个渠道联调接口,http请求,展示ptf 的需求,服务方以一个二进制的方式返回。 当时我们在一开始开发的时候,我们按照读取文件的方式处理,本地存一个ptf 的方式 ,...

鬼才王
13分钟前
0
0
【面试】如果你这样回答“什么是线程安全”,面试官都会对你刮目相看

不是线程的安全 面试官问:“什么是线程安全”,如果你不能很好的回答,那就请往下看吧。 论语中有句话叫“学而优则仕”,相信很多人都觉得是“学习好了可以做官”。然而,这样理解却是错的。...

中关村的老男孩
14分钟前
4
0
5.01- Druid数据源配置

1、配置项 配置 缺省值 说明 name 无 配置这个属性的意义在于,如果存在多个数据源,监控的时候 可以通过名字来区分开来。如果没有配置,将会生成一个名字, 格式是:"DataSource-" + Syste...

静以修身2025
18分钟前
0
0
itop4412开发板-Linux内核的编译

本篇文章基于itop4412开发板 5.3.2.1源码目录 Linux 内核源码在光盘“06_源码_uboot 和 kernel”目录下,如下图所示。 5.3.2.2 编译器 内核的编译器和 uboot 的编译器一样,参考“5.3.1.2 编...

书白
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部