PHP开发工具Jorker、SurgeConfigGenerator、BetePHP介绍

以下为你介绍的PHP开发工具都可用在Linux系统上:Jorker(PHP 脚本多进程执行)、SurgeConfigGenerator(Surge 配置生成器)、BetePHP(高性能 PHP 框架)。

1、Jorker(PHP 脚本多进程执行)

Jorker — 脚本多进程执行。

功能:

脚本多进程执行、支持中断续运行、内存过载保护、定时报告进度、高度可配置。

安装:

composer require jorker/jorker

用法:

<?php

require_once(dirname(__DIR__) . '/vendor/autoload.php');

$manager = new \Jorker\JobForkerManager(3);

$manager->allot(function() {

// RETURN OR YIELD JOBS IN MASTER PROCESS...

for($i = 0; $i < 100; $i++) {

yield ['i' => $i];

}

})->run(function($job, \Jorker\Slave\Slave $slave) {

// DO SOMETHING IN SUB PROCESS...

$slave->logger()->info("use this way if you want print log {$job['i']}.");

});

选项:

\Jorker\JobForkerManager::__construct($limit, $options)

@param int $limit | Sub process limit. 使用多少个子进程

@param array $options | configs. 配置项

[

"logger" => new SimpleEchoLogger(),     // LoggerInterface. 日志接口

"logLevel" => LogLevel::INFO,           // Print log which level greater or equal. 打印日志的最低等级

"slaveMaxMemory" => 256*1024*1024,      // Sub process max memory, if over this value, master will stop this sub process and fork a new one. 子进程最大内存,超出该内存终止子进程,终止后父进程会重新fork一个新的子进程

"reportInterval" => 600,                // Execute report handler every {reportInterval} seconds. 运行指定秒数后,对运行时统计进行报告

"reportHandler" => functuin() {echo "REPORT";},  // Execute report handle. 回调函数,运行时统计报告

"stampFilePath" => "/tmp/stamp.dat",    // File path that save last job when user CTRL+C stopped script. 用于记录上一次中断时,即将执行数据的保存路径

]

下载地址:https://github.com/kongxinchi/jorker

2、SurgeConfigGenerator(Surge 配置生成器)

每次更新 Surge 配置文件,都需要从网上下载网上已有的配置,再手动填写自己对应服务器的配置信息,改了配置有时候还要想办法传回手机,这样非常麻烦,现在有了 Surge 配置生成器,帮你从繁琐的改配置中释放出来。

因为涉及到你个人的代理服务(Shadowsock的用户信息)所以最好是部署在你自己的 PHP 空间上。

经过测试,在新浪的 SAE 上也可以正常使用(稍后更新更多部署教程)。

原理:

使用 PHP 远程下载网上 自动更新的 surge.conf 再根据配置文件 config.php 中的配置替换相关字段,并返回已经更改好相应字段的配置文件。

直接使用 Surge 的 Download Configuration from URL 填入部署在你服务器的生成器地址即可方便的更新配置。

配置:

复制 config.sample.php 到 config.php,并根据你实际情况进行修改。

$config = array(

// Surge 在线配置文件地址

'surge' => array(

'Abclite_ADB' => 'http://abclite.cn/Abclite_ADB.conf',

'Abclite' => 'http://abclite.cn/Abclite.conf'

),

// 你的服务器内容

'server' => array(

'Abclite1' => array(

// 代理服务器列表

'proxy' => array(

'HK = custom,abclite.cn,10000,rc4-md5,abclite.cn,http://abclite.cn/SSEncrypt.module',

'SG = custom,abclite.cn,10000,rc4-md5,abclite.cn,http://abclite.cn/SSEncrypt.module',

'JP = custom,abclite.cn,10000,rc4-md5,abclite.cn,http://abclite.cn/SSEncrypt.module',

'US = custom,abclite.cn,10000,rc4-md5,abclite.cn,http://abclite.cn/SSEncrypt.module',

'KR = custom,abclite.cn,10000,rc4-md5,abclite.cn,http://abclite.cn/SSEncrypt.module'

),

// 请求时的验证密码(防止服务器信息泄露)

'passwd' => 'myPassword'

),

),

);

其中 surge 和 server 可以配置多组,根据请求的 GET 参数确定返回哪个配置。

部署:

把下载目录中的文件(index.php、parse.php)以及你修改好的 config.php 一起上传到一个支持 PHP 的空间,部署就完成了。

使用:

假设你上传到服务器 server.com 的 surge 目录,配置文件如上所示,那么获取对应配置(Abclite_ADB)服务器(Abclite1)文件的网址就是:

http://server.com/surge/?config=Abclite_ADB&account=Abclite1&passwd=myPassword

将该网址填入 Surge 的 Download Configuration from URL 就完成了。

如果不填写 config 和 account 会默认加载第一个配置,URL 可以简单写成:http://server.com/surge/?passwd=myPassword

下载地址:https://gitee.com/yourtion/SurgeConfigGenerator

3、BetePHP(高性能 PHP 框架)

PHP开发工具Jorker、SurgeConfigGenerator、BetePHP介绍

BetePHP 是一个易于学习使用的高性能 PHP 框架。我们坚信好的框架应该是简单、易用、且不影响性能的,当然这个过程中需要做一些取舍,因此我们保留一个框架本身最基本、最常用的功能,其他功能则留给用户去扩展。

为什么需要另一个框架?

市面上已经有很多框架,为什么我们还需要另外一个框架?Laravel、Yii 2、Symfony 等都是非常优秀的框架,通过 composer 引入开源库,使用框架进行封装后提供丰富的功能组件;但是其中的问题也在这,通常引入使用一个库都需要加载十几个文件,可能还有二次依赖,加载的文件更多,这其中加载文件的 IO 成本就比较高了,这也是为什么有些框架空转耗时较高的原因。而 BetePHP 框架不依赖其他库,框架本身仅有不到80个文件,使用一套标准的风格实现其 API,一方面大大降低了文件 require 的成本,同时统一的 API 风格让开发者易于学习使用。

环境要求:

PHP >= 5.4.0、PDO扩展、OpenSSL扩展、MbString扩展。

下载地址:https://gitee.com/betephp/betephp

注明

以上就是PHP开发工具Jorker、SurgeConfigGenerator、BetePHP的介绍内容,这些PHP开发工具都能使用在Linux操作系统中。

栏目相关文章