对编译安装的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  首...

记:nginx服务器 php5.5.7升级php7过程和问题解决

①、服务器nginx 、php 、mysql都是安装好的,于是想直接升级php7. ②按照文章:https://typecodes.com/web/centos7compilephp7.html?ut...

mac OS X 10.10更新gcc 4.9.1后默认无法编译连接的问题

MAC OS X10.10升级前使用的低版本的gcc(好像是4.7.x),正常编译可以完成,不过会出现警告: couldn't understand kern.osversion `14.0.0' ...
  • mydo
  • mydo
  • 2014年10月27日 10:17
  • 6557

glibc安装

转载文章 ——安装glibc 有些软件可能要求系统的 Glibc 高于某个版本才可以正常运行,如果您的 Glibc 低于要求的版本,为了运行这些软件,您就不得不升级您的 Glibc了。比如...

centos下升级glibc

原文地址:http://blog.csdn.net/dodo_check/article/details/9341145 另外,本文是新建单独的目录来存放新的glibc,然后通过修改环境变量来实现....

linux下php快速升级 5.2.6(1)用yum(2)重新编译安装

2011-10-31 12:44 由于linux默认yum源安装的是php 5.1的包, yum安装php以后查看 rpm -qa php php-5.1.6-23...

Centos6.5下进行PHP版本升级

统计插件WP Statistics要求PHP5.4以上,可本机PHP为5.3.3,无奈只有对服务器PHP进行升级,遂写下本文。...
  • aliveqf
  • aliveqf
  • 2017年04月22日 15:23
  • 651

Centos6、7/Linux 下编译安装 PHP 5.6(升级版本)

一、系统环境:CentOS 6.5 / 7.0 x86_64 Fedora 20 x86_64 二、下载 PHP 源码包# wget http://cn2.php.net/distributions/...
  • ITYang_
  • ITYang_
  • 2016年10月31日 18:37
  • 1936

linux下安装redis并且进行php编译

在 linux 系统下安装redis 并且 php的redis扩展
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对编译安装的PHP进行升级
举报原因:
原因补充:

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