用PECL自动安装Redis扩展、Swoole扩展
yum install GeoIP GeoIP-devel GeoIP-data
pecl install igbinary
pecl install redis
pecl install swool
编译安装PHP7并安装Redis扩展Swoole扩展
在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了
本php7是编译成fpm-php 使用的,
如果是apache那么编译参数应该为
--with-apxs2=/usr/local/apache/bin/apxs
编译安装php7
PHP_VERSION=7.2.6 wget -c http://www.php.net/distributions/php-$PHP_VERSION.tar.gz tar zxvf php-$PHP_VERSION.tar.gz cd php-$PHP_VERSION ./configure \ --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-iconv-dir \ --with-freetype-dir=/usr/local/freetype \ --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-mbstring \ --enable-ftp \ --with-gd \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --with-gettext \ --disable-fileinfo \ --enable-opcache make ZEND_EXTRA_LIBS='-liconv' make install echo "Copy new php configure file..." mkdir -p /usr/local/php/{etc,conf.d} \cp php.ini-production /usr/local/php/etc/php.ini # php extensions echo "Modify php.ini......" sed -i 's/post_max_size =.*/post_max_size = 50M/g' /usr/local/php/etc/php.ini sed -i 's/upload_max_filesize =.*/upload_max_filesize = 50M/g' /usr/local/php/etc/php.ini sed -i 's/;date.timezone =.*/date.timezone = PRC/g' /usr/local/php/etc/php.ini sed -i 's/short_open_tag =.*/short_open_tag = On/g' /usr/local/php/etc/php.ini sed -i 's/;cgi.fix_pathinfo=.*/cgi.fix_pathinfo=0/g' /usr/local/php/etc/php.ini sed -i 's/max_execution_time =.*/max_execution_time = 300/g' /usr/local/php/etc/php.ini sed -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server/g' /usr/local/php/etc/php.ini ln -sf /usr/local/php/bin/php /usr/bin/php ln -sf /usr/local/php/bin/phpize /usr/bin/phpize ln -sf /usr/local/php/bin/pear /usr/bin/pear ln -sf /usr/local/php/bin/pecl /usr/bin/pecl ln -sf /usr/local/php/sbin/php-fpm /usr/bin/php-fpm pear config-set php_ini /usr/local/php/etc/php.ini pecl config-set php_ini /usr/local/php/etc/php.ini cd ..
编译安装php7的redis扩展支持
wget -c https://github.com/phpredis/phpredis/archive/php7.zip unzip php7.zip cd phpredis-php7 /usr/local/php7/bin/phpize ./configure --with-php-config=/usr/local/php7/bin/php-config make make install cd ..
/usr/local/php7/etc/php.ini
中加入
extension=redis.so
编译安装php7的swoole
wget -c https://github.com/swoole/swoole-src/archive/swoole-1.7.21-stable.tar.gz tar zxvf swoole-1.7.21-stable.tar.gz cd swoole-src-swoole-1.7.21-stable/ /usr/local/php7/bin/phpize ./configure --with-php-config=/usr/local/php7/bin/php-config make make install cd ..
/usr/local/php7/etc/php.ini
中加入
extension=swoole.so
貌似有几个参数是默认就enable的吧,比如opcache,我试了一下