php mysql 连接池扩展_关于PHP连接池扩展php-cp遇到的那些坑

php-cp是国内大神写的php第三方扩展,具体就不用多说了,细读https://github.com/swoole/php-cp,下面来说说今天安装方法。

环境:CentOS7.2.1511

由于本身已经安装过lnmp7环境,而php-cp对php7支持不太好,于是在此基础上再安装php5.6.30,两个php版本切换用。

#安装配置

./configure --prefix=/usr/local/php5.6\--with-gd \--with-freetype-dir\--enable-gd-native-ttf \--enable-mysqlnd \--with-pdo-mysql=mysqlnd \--with-openssl \--with-mcrypt \--enable-mbstring \--enable-zip \--enable-fpm

make

make install

#复制配置文件

cp /源码包/php.ini-development /usr/local/php5.6/lib/php.ini

cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf

cp /usr/local/php5.6/etc/php-fpm.d/www.conf.default /usr/local/php5.6/etc/php-fpm.d/www.conf

#修改fpm监听端口,防止与php7端口冲突

vi/usr/local/php5.6/etc/php-fpm.conf

修改为:

listen= 127.0.0.1:9056

#修改 nginx 监听 php5.6 的9056端口vi /usr/local/nginx/conf/nginx.conf

location ~ \.php$ {

root html;

fastcgi_pass127.0.0.1:9056;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME$DOCUMENT_ROOT$fastcgi_script_name;includefastcgi_params;

}

#关闭nginx并重启

ps -aux |grep nginx

kill-INT XXX/usr/local/nginx/sbin/nginx#关闭php7的fpm

ps -aux |grep fpm

kill-INT XXX#启动php5.6的fpm

/usr/local/php5.6/sbin/php-fpm

#避免麻烦,把php和phpize都加入到/usr/local/bin中

ln -s /usr/local/php5.6/bin/php /usr/local/bin/php5

ln-s /usr/local/php5.6/bin/phpize /usr/local/bin/phpize5

下载php-cp-master,是个zip压缩包

unzip master.zip

cd php-cp-master

phpize5./configure --with-php-config=/usr/local/php5.6/bin/php-config

make

make install#官方make & make install ,但我建议分开写

配置php.ini

echo "extension=connect_pool.so" >> /usr/local/php5.6/lib/php.ini

下面官网配置

cp ./config.ini.example /etc/pool.ini //根据需求修改配置内容

mkdir -m 755 /var/log/php-connection-pool //创建日志目录 目录文件夹不存在或没权限会导致日志写不起

chmod +x ./pool_server //x权限git已经设置 为稳妥再设置一次 pool_server为php脚本 可自行修改

[ -f /bin/env ] || sudo ln -s /usr/bin/env /bin/env //deb系的系统(如debian、ubuntu)env的路径为/usr/bin/env做软链接兼容处理

平滑重启fpm

ps -aux |grep fpm

kill-USR2 xxx

查看php扩展是否有connect_pool,有即成功,无则算了

php5 -m

[PHP Modules]

connect_pool

Core

ctype....

连接池服务使用:

cp ./pool_server /usr/local/bin/pool_server

pool_server start//启动服务 如果配置文件的daemonize开启则后台运行 否则为前台运行 Ctrl+c结束服务

pool_server stop //停止服务

pool_server restart //重启服务

pool_server status //查看服务状态

坑:目录下有一个pool_server ,官网是直接将其复制到/usr/local/bin中执行,但前提是你必须将php加入到linux环境中,如果没有,则会报错。

解决方法:

1,php加入到环境变量中

2,使用 php5 pool_server start运行服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值