前几天搭建swoole环境,在安装php的swoole扩展时不知道什么原因,提示成功,但是使用的时候不能加载,最后决定重新安装php试试,顺便记录了php的安装过程
wget http://cn2.php.net/get/php-5.6.4.tar.gz/from/cn2.php.net/mirror
tar -zxvf php-5.6.4.tar.gz
cd php-5.6.4
./configure
--prefix=/usr/php
--with-config-file-path=/usr/php/etc
--with-bz2
--with-curl
--enable-ftp
--enable-sockets
--disable-ipv6
--with-gd
--with-jpeg-dir=/usr/php
--with-png-dir=/usr/php
--with-freetype-dir=/usr/php
--enable-gd-native-ttf
--with-iconv-dir=/usr/php
--enable-mbstring
--enable-calendar
--with-gettext
--with-libxml-dir=/usr/php
--with-zlib
--with-pdo-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-mysql=mysqlnd
--with-openssl
--enable-dom
--enable-xml
--with-libdir=lib64
--enable-pdo
--enable-fpm
以上扩展可以根据自己的需求增加和减少
make
make test
make install
cp php.ini-production /usr/local/php/etc/php.ini
如果php安装目录的etc目录下没有php.ini文件的时候需要将php.ini-production复制到php安装目录的etc目录下,
如果已经有了就可以忽略这步,下面的错也是一样的。
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
启动php
/usr/local/php/sbin/php-fpm
查看是否启动
ps -ef | grep php
如果出现以下内容,说明php安装成功了
root 11218 1 0 Aug05 ? 00:00:22 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
接下来说说swoole扩展的安装过程
安装swoole前必须保证系统已经安装了下列软件
php-5.3.10 或更高版本
gcc-4.4 或更高版本
make
autoconf
swoole项目已收录到PHP官方扩展库,除了手工下载编译外,还可以通过PHP官方提供的pecl命令,一键下载安装swoole
pecl install swoole
如果安装不成功的话可以进行编译安装
下载源代码包后,在终端进入源码目录,执行下面的命令进行编译和安装
cd swoole
/usr/local/php-5.4.17/bin/phpize
./configure
--with-php-config=/usr/local/php/bin/php-config
上面两行命令写取路径是防止编译时使用的phpize和php-config不对应,需要使用绝对路径来进行编译
make sudo make install
下载地址
https://github.com/swoole/swoole-src/releases
http://pecl.php.net/package/swoole
http://git.oschina.net/matyhtf/swoole
编译安装成功后,修改php.ini加入 extension=swoole.so
然后重启php,重启成功之后可以通过 php -m 或者 phpinfo()来查看swoole模块是否加载成功。