安装和使用PHP进程管理框架 QPM
2015-03-10 21:34
393 查看
QPM全名是 Quick Process Management Framework for PHP. PHP 是强大的web开发语言,以至于大家常常忘记PHP 可以用来开发健壮的命令行(CLI)程序以至于daemon程序。 而编写daemon程序免不了与各种进程管理打交道。QPM正式为简化进程管理而开发的类库。QPM的项目地址是: https://github.com/Comos/qpm
PHP 5.4.x及以上版本,并且开启pcntl, posix。
使用以下命令,可以快速安装Composer:
curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer
也可参考:Composer安装指南。
可参考如下配置。
{
"require": {
"monolog/monolog": "1.0.*",
"comos/qpm":"0.3.*"
} }
其中
"comos/qpm":"0.3.*"
表示依赖 comos/qpm 0.3.x版本。
例 test.php:
<?phprequire __DIR__.'/vendor/autoload.php';$pid = qpm\process\Process::current()->getPid();echo "PID: $pid\n";
执行 php test.php,终端输出 PID: 11210 (进程号)。
例如 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 (进程号)。
环境要求
*nix系统。由于QPM的核心功能是基于pcntl扩展的,无法用于windows系统。PHP 5.4.x及以上版本,并且开启pcntl, posix。
安装并使用QPM
使用 Composer 安装QPM(推荐)
1) 安装Composer
Composer 是PHP用来管理软件包依赖关系的工具。使用Composer可以非常便利的实现依赖包的快速下载和安装。使用以下命令,可以快速安装Composer:
curl -sS https://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 找到qpm4) 运行
运行前,脚本须先加载compser autoload.php文件。例 test.php:
<?phprequire __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 (进程号)。
相关文章推荐
- 安装和使用PHP进程管理框架 QPM
- QPM-PHP进程管理框架
- QPM-PHP进程管理框架
- [ZT] 使用PHP-FPM (PHP FastCGI Process Manager)来对php-cgi进程进行管理
- Nginx使用的php-fpm的两种进程管理方式及优化
- PHP Daemon开发-使用QPM管理PID文件
- (总结)Nginx使用的php-fpm的两种进程管理方式及优化
- PHP管理依赖(dependency)关系工具 Composer 安装与使用
- Linux 进程管理工具 supervisord 安装及使用
- PHP 使用 QPM 实现多进程并行任务处理程序
- Nginx使用的php-fpm的两种进程管理方式及优化
- PHP使用QPM实现多进程并行任务处理程序
- Nginx使用的php-fpm的两种进程管理方式及优化
- Supervisord进程管理工具的安装使用
- PHP网页服务实现注册和商店NPC管理(安装+搭建+使用+问题处理)
- linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程
- Nginx使用的php-fpm的两种进程管理方式及优化
- Nginx使用的php-fpm的两种进程管理方式及优化
- Nginx使用的php-fpm的两种进程管理方式及优化
- PHP实战 新闻管理系统 使用到了bootstrap框架