关于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_pass 127.0.0.1:9056;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name;
include fastcgi_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运行服务。
关于PHP连接池扩展php-cp遇到的那些坑的更多相关文章
- 完善Hikari连接池扩展项目HikariApi(ORM)
以前介绍类自定义的Hikari项目,定位于数据库连接池:后扩展了,根据文件名称,以数据库配置文件为基础,支持按照名称多数据操作. 在使用中,发现扩展了SQL语句参数化操作,在管理类中,以扩展方法存在. ...
- weblogic连接池过小导致TPS呈周期性跳坑现象
利用晚上时间跑个12小时稳定性,第二天发现TPS曲线图成了这个样子. 排查步骤: 1.观察TPS图发现,几乎每两个小时TPS掉一次坑,是周期性的,而且TPS有掉到0的现象.LR上也有失败的交易,猜想是 ...
- JDBC之 连接池
JDBC之 连接池 有这样的一种现象: 用java代码操作数据库,需要数据库连接对象,一个用户至少要用到一个连接.现在假设有成千上百万个用户,就要创建十分巨大数量的连接对象,这会使数据库承受极大的压力 ...
- php-cp(php连接池)扩展的安装
今天看到php有连接池的扩展,不管效果怎么样,都值得一试,这样才会有突破. 先从guthub上搜索源码:[ https://github.com/swoole/php-cp ] 通过命令clone到自 ...
- php连接池 php–cp
原文地址:http://blog.sina.com.cn/s/blog_9eaa0f400102v9fd.html 数据库连接池php-cp介绍时间 2015-01-23 11:53:05 数据库连接 ...
- 使用c3p0与DBCP连接池,造成的MySql 8小时问题解决方案
转自:http://blog.csdn.net/wangfayinn/article/details/24623575 c3p0数据库连接池mysql8小时 目录(?)[-] 基本问题解决 项目环境 ...
- 【JDBC&Dbutils】JDBC&JDBC连接池&DBUtils使用方法(重要)
-----------------------JDBC---------- 0. db.properties文件 driver=com.mysql.jdbc.Driver url=jdbc: ...
- Druid连接池(四)
十七.Druid加密 运维和DBA都不希望把密码明文直接写在配置文件中,Druid提供了数据库密码加密的功能. ConfigFilter的作用包括: 从配置文件中读取配置 从远程http文件中读取配置 ...
- JDBC连接池&DBUtils使用
使用连接池改造JDBC的工具类: 1.1.1 需求: 传统JDBC的操作,对连接的对象销毁不是特别好.每次创建和销毁连接都是需要花费时间.可以使用连接池优化的程序. * 在程序开始的 ...
随机推荐
- 微信小程序入门文档
一 基本介绍 微信专门为小程序开发了一个ide叫做微信开发者工具 最新一版的微信开发者工具,把微信公众号的调试开发工作也集成了进去,可以更换开发模式. https://mp.weixin.qq.com ...
- CodeForces - 1004A-Sonya and Hotels(思维)
Sonya decided that having her own hotel business is the best way of earning money because she can pr ...
- 2017 Multi-University Training Contest - Team 7 Just do it
http://acm.hdu.edu.cn/showproblem.php?pid=6129 题意:一次操作就是i从1~n有 A[i]=A[i]^A[i-1]^A[i-2]...^A[1] 那么这样操 ...
- Bootcamp Win10蓝牙鼠标的问题
运行services.msc找到Bluetooth support service 把启动类型从手动改为自动 重新连接蓝牙鼠标
- cloud turbine
turbine是聚合服务器发送事件流数据的一个工具,hystrix的监控中,只能监控单个节点,实际生产中都为集群,因此可以通过 turbine来监控集群下hystrix的metrics情况,通过eur ...
- spring Cloud中,解决Feign/Ribbon整合Hystrix第一次请求失败的问题?
Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题,要如何解决该问题呢? 造成该问题的原因 Hystrix默认的超时时间是1秒,如果超过这个时间 ...
- 如何从桌面程序向浏览器传递cookie或自定义header
类似问题 从c#程序启动ie并传递cookie 打开默认浏览器并传递cookie 打开一个web浏览器使用c#应用程序并添加请求头 猜想 从wpf程序打开默认浏览器并定位到一个url ,并且向这个ur ...
- MovieReview—Wile Hunter(荒野猎人)
Faith is Power Faith is power, this sentence is not wrong. Find your own beliefs, and strug ...
- 为Oracle Clusterware修改公用及私有网络接口
出于种种原因我们可能需要为已安装的Oracle集群软件修改其使用的公用或私有网络所使用的网络接口(How to Change Interconnect/Public Interface IP or S ...
- UVA 11552 Fewest Flops(区间dp)
一个区间一个区间的考虑,当前区间的决策只和上一次的末尾有关,考虑转移的时候先统计当前区间出现过的字母以及种数ct 枚举上一个区间的末尾标号j,规定小于INF为合法状态,确定j之后看j有没有在当前的区间 ...