基于阿里云服务器Centos7.2的Linux系统编译

编译PHP之前,先编译PHP扩展包

cd /xx/     —建议把所有源码包放到一个目录内

编译libuconv1.15

wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz

tar xf libiconv-1.15.tar.gz

cd libiconv-1.15

./configure

make

makeinstall

echo /usr/local/lib > /etc/ld.so.conf.d/lnmp.conf

/sbin/ldconfig

编译pcre8.41

cd /xx/

wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz

tar xf pcre-8.41.tar.gz

cd pcre-8.41

./configure

make

make install

/sbin/ldconfig

echo /usr/local/mysql/lib >> /etc/ld.so.conf.d/lnmp.conf

编译php7.1.11

cd /xx/

mkdir /xx/php      —php的安装路径(也可以在/usr/local/下创建php目录)

wget http://cn.php.net/distributions/php-7.1.11.tar.gz

cd php-7.1.11

./configure –prefix=/xx/php/ –with-config-file-path=/xx/php/etc –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –disable-rpath –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –with-gettext –enable-mysqlnd –with-pcre-dir=/usr/local/ –enable-opcache

注意:configure过程中可能会报错,提示软件包没有安装。(前面有一章专门写configure过程中错误提示及解决)

make之前,编辑Makefile配置文件(防止报错,本人没添加就报错了)

找到EXTRA_LIBS =在当前行最后加一个-liconv(大概在112行)

make

makeinstall

php安装完成,可以添加一些第三方模块

添加memcache缓存模块

cd /xx/

wget https://github.com/websupport-sk/pecl-memcache/archive/php7.zip

unzip php7.zip

cd pecl-memcache-php7/

/xx/php/bin/phpize         —生成configure文件

./configure –with-php-config=/xx/php/bin/php-config

make

make install

echo /xx/pecl-memcache-php7/modules/ >> /etc/ld.so.conf.d/lnmp.conf

/sbin/ldconfig

添加绘图引擎模块ImageMagick

cd /xx/

wget http://www.imagemagick.org/download/ImageMagick-7.0.7-11.tar.gz

tar xf ImageMagick-7.0.7-11.tar.gz

cd ImageMagick-7.0.7-11

./configure

make

make install

/sbin/ldconfig

安装imagick(用于连接php与imagemagick的通道)

cd /xx/

wget http://pecl.php.net/get/imagick-3.4.3.tgz

tar xf imagick-3.4.3.tgz

/xx/php/bin/phpize

./configure –with-php-config=/xx/php/bin/php-config

make

make install

echo /xx/imagick-3.4.3/modules >> /etc/ld.so.conf.d/lnmp.conf

/sbin/ldconfig

ls /xx/php/lib/php/extensions/no-debug-non-zts-20160303/     —查看会发现有三个模块,成功

然后拷贝PHP的配置文件,并进行配置

cp -a /xx/php-7.1.11/php.ini-production /xx/php/etc/php.ini

在/xx/php/etc/php.ini最后加上以下内容

extension_dir = “/xx/php/lib/php/extensions/no-debug-non-zts-20160303/”
extension = “memcache.so”
extension = “imagick.so”

[opcache]
zend_extension = “/xx/php/lib/php/extensions/no-debug-non-zts-20160303/opcache.so”
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128          —指定内存大小,可根据个人需求调整
opcache.optimization_level=1
opcache.interned_strings_buffer=8           —interned string 的内存大小,亦可调
opcache.max_accelerated_files=4000      —最大缓存的文件数目
opcache.revalidate_freq=60                            —60秒检查一次文件更新
opcache.fast_shutdown=1                               —打开快速关闭, 打开这个在PHP Request Shutdown的时候回收内存的速度会提高
opcache.save_comments=0                           —不保存文件或函数的注释

保存退出

成功编译PHP1.7.11!

发表评论

电子邮件地址不会被公开。 必填项已用*标注