首页 > 编程 > PHP > 正文

安装和使用PHP进程管理框架QPM

2020-03-22 16:53:21
字体:
来源:转载
供稿:网友
  • QPM全名是 Quick Process Management Framework for PHP. PHP 是强大的web开发语言,以至于大家常常忘记PHP 可以用来开发健壮的命令行(CLI)程序以至于daemon程序。 而编写daemon程序免不了与各种进程管理打交道。QPM正式为简化进程管理而开发的类库。QPM的项目地址是: http://github.com/Comos/qpm

    环境要求*nix系统。由于QPM的核心功能是基于pcntl扩展的,无法用于windows系统。PHP 5.4.x及以上版本,并且开启pcntl, posix。

    安装并使用QPM

    使用 Composer 安装QPM(推荐)

    1) 安装Composer

    Composer 是PHP用来管理软件包依赖关系的工具。使用Composer可以非常便利的实现依赖包的快速下载和安装。
    使用以下命令,可以快速安装Composer:

    curl -sS http://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer

    也可参考:Composer安装指南。

    2) 在Composer配置文件中配置QPM

    使用Composer的项目,在项目目录下通常有composer.json文件。
    可参考如下配置。

        {       "require": {        "monolog/monolog": "1.0.*",        "comos/qpm":"0.3.*"      }    }

    其中

    "comos/qpm":"0.3.*"

    表示依赖 comos/qpm 0.3.x版本。

    3) 安装QPM

    准备好composer.json, 执行 composer install 后,即可在 vendor/comos 找到qpm

    4) 运行

    运行前,脚本须先加载compser autoload.php文件。
    例 test.php:

    <?phprequire __DIR__.'/vendor/autoload.php';$pid = qpm/process/Process::html' target='_blank'>current()->getPid();echo "PID: $pid/n";

    执行 php test.php,终端输出 PID: 11210 (进程号)。

    直接下载QPM

    1) 从github releases 下载最新稳定版本。

    例如 0.3.0版本。

    2) 解压到项目目录。
    tar zxvf 0.3.0.tar.gz

    3) 注册自己编写的autoloader并运行。

    由于qpm遵循psr-4,需要依赖autoloading机制加载类,如果项目没有注册适合的autoloader,用户需要自行实现autoloader。
    例如 test1.php:

        <?php    spl_autoload_register(function ($class) {        $prefix = 'qpm//';        $baseDir = __DIR__ . '/qpm-0.3.0/library';        $len = strlen($prefix);        if (strncmp($prefix, $class, $len) !== 0) {            return;        }        $relativeClass = substr($class, $len);        $file = $baseDir . str_replace('//', '/', $relativeClass) . '.php';        if (file_exists($file)) {            require $file;        }    });    $pid = qpm/process/Process::current()->getPid();    echo "PID: $pid/n";

    执行 php test1.php,终端输出 PID: 11210 (进程号)。

    PHP编程

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表