1.php7编译安装
从php官网上下载php7,安装gcc,libxml2-devel,然后 ./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --bindir=/usr/local/php7/bin --sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include --libdir=/usr/local/php7/lib/php --mandir=/usr/local/php7/php/man --with-config-file-path=/usr/local/php7/etc --with-mysql-sock=/var/run/mysql/mysql.sock --with-mhash --with-openssl --with-zlib --enable-zip --enable-mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --without-gdbm --disable-fileinfo --with-bz2 --enable-maintainer-zts
然后 make && make install结束之后,php的基本安装已经完成了。
简化php执行方式:vi ~/.bash_profile
加入最后一行。保存退出。
source ~/.bash_profile
php7 -i | grep php.ini 看一下php.ini的存放路径
将源码路径下的php.ini的配置文件copy到php.ini的存放路径下(development是开发环境,production是生产环境,这里我们取development)
执行命令: cp /usr/local/resource/php/php-7.2.7/php.ini-development /usr/local/php7/lib/php.ini
到此php7的安装就完成啦。
2.编译安装swoole
在安装swoole之前先安装个hiredis,下载后分别执行:
make -j
sudo make install
sudo ldconfig
在swoole官网上下载,解压,cd到swoole目录下,phpize;
发现此时没有php autoconfig,有个简单的办法就是:
# yum install m4
# yum install autoconf
重新执行phpize:
此时会生成一个configure文件,可以使用命令 ./configure --help查看参数。
./configure --with-php-config=/usr/local/php7/bin/php-config --enable-async-redis
安装完成后,修改php.ini:
vi /usr/local/php7/lib/php.ini
加入extension=swoole;
保存退出。执行命令php7 -m发现没有swoole拓展,执行命令php7 -m | grep swoole
解决办法:
vi ~/.bash_profile
在最后一行添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
最后再 source ~/.bash_profile
OK,问题解决!