公司服务器还是处于centos6.5的版本,因此,最近在改php扩展的时候,还是需要先在 centos6 下测试一下插件,所以搞了个虚拟机安装起 centos , 在编译一下 php7.2 的源码,期间遇到的问题都记录一下。
一、安装各种依赖:
1 2
| yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel pcre-devel curl-devel yum -y install libxslt-devel libmcrypt-devel gd-devel openssl openssl-devel bison cyrus-sasl-devel git
|
二、下载源码
1 2 3
| wget -c https://github.com/php/php-src/archive/php-7.2.4.tar.gz tar -zxf php-7.2.4.tar.gz cd php-src-7.2.4
|
三、编译参数
1 2 3 4
| ./buildconf ./configure --with-openssl --with-mysqli --with-pdo-mysql --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --without-gdbm --with-pcre-regex --with-png-dir --enable-fileinfo --enable-debug make sudo make install
|
四、常用插件安装
1、redis:
2、memcached:
先安装 memcached:
1 2 3 4 5 6
| wget http://memcached.org/files/memcached-1.5.7.tar.gz tar -zxf memcached-1.5.7.tar.gz cd memcached-1.5.7 ./configure make sudo make install
|
在安装php-memcaced扩展:
1 2 3 4 5 6 7
| wget -c https://pecl.php.net/get/memcached-3.0.4.tgz tar -zxf memcached-3.0.4.tgz cd memcached-3.0.4 phpize ./configure make sudo make install
|
3、swoole:
五、配置 php
因为从源码安装的php没有自动放置好 php.ini
文件,所以,我们需要从源码文件夹中复制:
1 2
| cd php-src-7.2.4 cp php.ini.production /usr/local/lib/php.ini
|
然后我们就可以配置php.ini 加入以上扩展了,`vim /usr/local/lib/php.ini` 然后在文件尾加入:
1 2 3
| extension=redis.so extension=swoole.so extension=memcached.so
|
六、检查php
确认php版本
php -v
确认读取的 php.ini 文件的位置:
php -i | grep php.ini
检查已经安装的插件
php -m