• 关于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运行服务。

  • 相关阅读:
    c# 重绘窗体 控件为不规则形状
    c# 调用C库函数
    《Unix/Linux系统编程》第1,2章学习笔记 20201209戴骏
    API微信小程序开发(六)
    项目创建及基本组成结构微信小程序开发(二)
    注册微信小程序及开发准备微信小程序开发(一)
    常见组件的使用微信小程序开发(四)
    WXML 模板语法③条件渲染微信小程序开发(九)
    宿主环境微信小程序开发(五)
    页面组成部分微信小程序开发(三)
  • 原文地址:https://www.cnblogs.com/GaZeon/p/7055611.html
Copyright © 2020-2023  润新知