php7可用的小马,PHP7安装笔记

# 安装mcrypt

yum install -y php-mcrypt libmcrypt libmcrypt-devel

# 由于版本问题,centos不能集成mcrypt,自行安装解决错误

# configure: error: mcrypt.h not found. Please reinstall

libmcrypt.

wget

http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

tar xvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure --prefix=/usr/local

make

make install

# 升级bison

cd /var/soft/

wget http://ftp.gnu.org/gnu/bison/bison-2.6.4.tar.gz

tar -xvzf bison-2.6.4.tar.gz

cd bison-2.6.4

./configure

make && make install

# 升级re2c,解决You will need re2c 0.13.4 or later if you want to

regenerate PHP parsers.错误

cd /var/soft/

wget

http://sourceforge.net/projects/re2c/files/re2c/0.13.5/re2c-0.13.5.tar.gz/download

tar zxf re2c-0.13.5.tar.gz && cd re2c-0.13.5

./configure

make && make install

编译PHP7

# 创建目录

mkdir -p /var/soft/php7

cd /var/soft/php7

# 下载源代码

git clone http://git.php.net/repository/php-src.git

cd php-src

./buildconf

# 或

wget http://us1.php.net/distributions/php-7.0.0.tar.gz

tar xvf php-7.0.0.tar.gz

cd php-7.0.0

# 配置参数

./configure --prefix=/usr/local/php7 \

--with-config-file-path=/usr/local/php7/etc \

--with-mcrypt=/usr/include \

--with-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-gd \

--with-iconv \

--with-zlib \

--enable-xml \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--enable-mbregex \

--enable-fpm \

--enable-mbstring \

--enable-ftp \

--enable-gd-native-ttf \

--with-openssl \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-zip \

--enable-soap \

--without-pear \

--with-gettext \

--enable-session \

--with-curl \

--with-jpeg-dir \

--with-freetype-dir \

--enable-opcache

#################################################################################

# 编译安装php时出现 /encodings.c:101: undefined reference to

`libiconv_close’ 错误的解决方法

# 在装php时出现以下的错误:

#

/root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:73:

undefined reference to `libiconv_open'

#

/root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:81:

undefined reference to `libiconv'

#

/root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:101:

undefined reference to `libiconv_close'

#

/root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:101:

undefined reference to `libiconv_close'

# collect2: error: ld returned 1 exit status

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

#

根据php官网描述这是一个bug(https://bugs.php.net/bug.php?id=52611)。在configure以后要手动修改下Makefile文件,找到EXTRA_LIBS

在最后添加 -liconv 即可顺利通过

# (大约在Makefile文件的104)

# EXTRA_LIBS = -lcrypt -lz -lresolv -lcrypt -lrt -lmysqlclient

-lmcrypt -lltdl -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl

-lxml2 -lz -lm -ldl -lssl -lcrypto -lcurl -lxml2 -lz -lm -ldl

-lfreetype -lmysqlclient -lz -lm -lssl -lcrypto -ldl -lxml2 -lz -lm

-ldl -lxml2 -lz -lm -ldl -lcrypt -lxml2 -lz -lm -ldl -lxml2 -lz -lm

-ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lssl -lcrypto -lcrypt

-liconv

#################################################################################

# 编译安装

make && sudo make install

# 配置

cp php.ini-production /usr/local/php7/etc/php.ini

cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm

chmod +x /etc/init.d/php7-fpm

cp /usr/local/php7/etc/php-fpm.conf.default

/usr/local/php7/etc/php-fpm.conf

cp /usr/local/php7/etc/php-fpm.d/www.conf.default

/usr/local/php7/etc/php-fpm.d/www.conf

# 配置opcache

vim /usr/local/php7/etc/php.ini

# 加入

zend_extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/opcache.so

# 启动

/etc/init.d/php7-fpm start

# 查看PHP版本

1

/usr/local/php7/bin/php -v

结果:

PHP 7.0.0-dev (cli) (built: Mar  3 2015

10:02:26)

Copyright (c) 1997-2015 The PHP Group

Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend

Technologies

with Zend OPcache

v7.0.4-dev, Copyright (c) 1999-2015, by Zend Technologies

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

/root/Nginxsource/php-5.2.14/sapi/cli/php: error while loading

shared libraries: libiconv.so.2: cannot open shared object file: No

such file or directory

make[1]: *** [install-pear-installer] Error 127  #很明显meke

install的时候找不到libiconv.so.2的库文件了

make: *** [install-pear] Error 2#貌似这个错误在Centos6.x上面每次编译都会报错!

解决的方法如下:

1.在/etc/ld.so.conf中加一行/usr/local/lib,

2.然后运行/sbin/ldconfig

这样就ok了它就能找到库文件了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值