对编译安装的PHP进行升级

原创 2017年05月21日 09:44:55

准备依赖包和函数库:

yum -yinstall gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetypefreetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-develcurl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-developenssl openssl-devel openldap openldap-devel nss_ldap openldap-clientsopenldap-servers patch perl-CPAN pcre-devel pcre libxslt libxslt-devel php-mcrypt  libmcrypt libmcrypt-devel

 

下载:

http://php.net/downloads.php

 

解压:

tar -zxvf  php-5.6.3.tar.gz  

 

检查配置环境(通用于7.0):

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/php.d --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir=/usr/local --with-jpeg-dir --with-kerberos --with-ldap --with-ldap-sasl --with-libdir=lib64 --with-libxml-dir=/usr/lib64 --with-mcrypt --with-mhash --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --with-pcre-regex=/usr --with-pdo-mysql=mysqlnd --with-pdo-sqlite=shared --with-pear=/usr/local/lib/php --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --disable-rpath --enable-opcache  --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --disable-rpath --enable-opcache --disable-debug --enable-shared --enable-ftp --enable-session --enable-fastcgi --disable-fileinfo --with-fpm-user=username --with-fpm-group=username

 

配置详解:

--with-mysql-sock=/var/run/mysql/mysql.sock  //mysql的sock文件

--with-iconv-dir=/usr/local    //iconv库文件,编译安装icon库时需要指定路径

--with-fpm-user=username--with-fpm-group=username     //指定php-fpm的用户和组

 

configure: error:mcrypt.h not found.

报错内容:configure: error: mcrypt.h notfound. Please reinstall libmcrypt

yum install  php-mcrypt  libmcrypt  libmcrypt-devel

 

编译安装:

ln-s /usr/local/lib/libiconv.so.2 /usr/lib64/

make ZEND_EXTRA_LIBS='-liconv'

报错:

collect2: ld returned 1 exit status  

make: *** [sapi/cli/php] Error 1  

解释:

在安裝 PHP 到系统中时要是发生「undefined reference to libiconv_open'」之类的错误信息,那表示在「./configure 」沒抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没給到要 link iconv 函式库参数。

解决方法:

编辑Makefile 大约100 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然后重新再次 make 即可。

然后重新make 顺利通过了

 

 

编译安装php 的时候,执行make报错误

错误:make: *** [ext/mysqli/mysqli.lo] Error 1

[root@localhostphp-5.4.9]# mkdir /usr/local/webserver/mysql/include/mysql

 [root@localhostphp-5.4.9]# ln -s /usr/local/webserver/mysql/include/*/usr/local/webserver/mysql/include/mysql
 [root@localhost php-5.4.9]# make ZEND_EXTRA_LIBS='-liconv'

抛错:

Generating phar.phar
/usr/local/src/php-5.4.9/sapi/cli/php:error while loading shared libraries: libiconv.so.2: cannot open shared objectfile: No such file or directory
make: *** [ext/phar/phar.php] Error 127

解决的方法如下:

#vi /etc/ld.so.conf

在里面加上一行
/usr/local/lib

/usr/lib64

/usr/lib

2.然后运行/sbin/ldconfig

#/sbin/ldconfig

编译make

#makeZEND_EXTRA_LIBS='-liconv'

 

抛错:

Generating phar.phar
chmod: cannot access `ext/phar/phar.phar': No such file or directory
make: [ext/phar/phar.phar] Error 1 (ignored)
Build complete.
Don't forget to run 'make test'.
此处可以忽略不过解决办法如下

#cd  ext/phar/
#cp ./phar.php  ./phar.phar

然后到php5.4文件夹

#makeZEND_EXTRA_LIBS='-liconv'

#make test

#make install

 

 

make clean

make ZEND_EXTRA_LIBS='-liconv'  

make install

 

准备配置文件:

cp php.ini-production/usr/local/webserver/php-d/php-5.5.0/etc/php.ini

 

剩下的根据个人配置 配置,php.ini中的模块设置和php-fpm中的进程池配置按照原先的配置配置。

版权声明:本文为博主原创文章,转载注明出处。

Linux平滑编译升级php5.5至5.6

今天想写自动化测试项目时,安装phpunit 时提示 需要安装php5.6 版本以上。 服务器类型 CentOS 6.5 目前php5.5 要升级到php5.6  首...
  • ssdfsfdf
  • ssdfsfdf
  • 2016年10月31日 17:28
  • 2899

php编译安装与配置

php编译安装与配置   ===========================================   官网:http://php.net/   官网下载:http://php.net/...
  • wulove52
  • wulove52
  • 2016年08月29日 21:29
  • 3744

php以编译方式安装,编译参数详解析!

PHP安装./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/us...
  • qq_17392301
  • qq_17392301
  • 2015年04月27日 17:18
  • 670

线上服务器php5.3.8升级到php5.6.3

服务器类型 CentOS 6.5 因为项目要用到php5.4以上的新功能 目前服务器还是用php5.3.8版本 所以升级版本就非常需要了。 首先 连上服务器 先把 php-fpm服务关闭 然后 ...
  • ebw123
  • ebw123
  • 2014年12月11日 21:49
  • 29350

linux下如何把php升级到5.6

1: 进入终端后查看php版本 php -v 输出可能如下: PHP 5.4.35 (cli) (built: Nov 14 2014 07:04:10) Copyright (c) 1997...
  • llzif
  • llzif
  • 2016年08月03日 15:43
  • 15782

将centos 7 自带的 php 5.4升级为 5.6

1.进入终端后查看php版本 php -v 输出可能如下: PHP 5.4.35 (cli) (built: Nov 14 2014 07:04:10) Copyright (c) 1997-2014...
  • wplblog
  • wplblog
  • 2016年08月03日 17:44
  • 7622

linux上 php升级

cd /tmp wget -c http://dl.wdlinux.cn:5180/soft/php-5.3.10.tar.gz/a> tar zxvf 
  • guoshenglong11
  • guoshenglong11
  • 2016年01月26日 10:26
  • 487

linux下如何把php升级到5.6

1:  进入终端后查看PHP版本 php -v 输出可能如下: PHP 5.4.35 (cli) (built: Nov 14 2014 07:04:10) Copyright (c) 1997...
  • xiaokurong
  • xiaokurong
  • 2016年12月13日 11:37
  • 2192

[转]日请求过亿的Web系统PHP7升级实践

日请求过亿的Web系统PHP7升级实践
  • heiyeshuwu
  • heiyeshuwu
  • 2016年06月01日 14:51
  • 6160

PHP升级方法之一

yum配置 执行命令下载、安装yum源,当前是针对Centos6并且64位版本的源: [root@T_249 yum.repos.d]# rpm -ivh http://dl.fedoraproj...
  • liangdsh
  • liangdsh
  • 2016年09月26日 17:02
  • 482
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对编译安装的PHP进行升级
举报原因:
原因补充:

(最多只允许输入30个字)