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

QPM全名是 Quick Process Management Framework for PHP. PHP 是强大的web开发语言,以至于大家常常忘记PHP 可以用来开发健壮的命令行(CLI)程序以至于daemon程序。 而编写daemon程序免不了与各种进程管理打交道。QPM正式为简化进程管理而开发的类库。QPM的项目地址是: https://github.com/Comos/qpm

环境要求

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

安装并使用QPM

使用 Composer 安装QPM(推荐)

1) 安装Composer

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

curl -sS https://getcomposer.org/installer | php
mv 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:

<?php
require __DIR__.‘/vendor/autoload.php‘;
$pid = qpm\process\Process::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 (进程号)。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。