aex/php-async
Composer 安装命令:
composer require aex/php-async
包简介
file async to server based on php
关键字:
README 文档
README
介绍
php-async 是基于 PHP 开发的,方便开发者直接在本地调试远程 测试服务器 代码的工具
特性
- 使用简单
- 可配置
- 使用 socket 通讯
安装
composer require aex/php-async ^1.0.0 -vvv
使用
服务端:(async_server.php)
<?php
require "../vendor/autoload.php";
use Aex\PhpAsync\PhpAsync;
$config = []; // 下面会说明各配置项
$p = new PhpAsync($config);
$p->fireServer();
php async_server.php
客户端 (async_client.php)
<?php
require "../vendor/autoload.php";
use Aex\PhpAsync\PhpAsync;
$config = []; // 下面会说明各配置项
$p = new PhpAsync($config);
$p->fireClient();
php async_client.php
配置
服务端
$config = [
'ip' => '0.0.0.0', // 监听的ip
'port' => 8313, // 监听的端口
'server-async-path' => '/code/test_code/', // 服务端同步目录的绝对路径,以/(DIRECTORY_SEPARATOR)结尾
'duplicate_name_suffix' => '.pasync', // 副本文件后缀(生成的临时文件,应避免是你项目会用到的后缀)
'command_separator' => '(::)' // 命令分隔符
];
客户端
$config = [
'ip' => '127.0.0.1', // 服务端ip
'port' => 8313, // 服务端端口
'client-async-path' => '/code/test_code/', // 客户端同步目录的绝对路径,以/(DIRECTORY_SEPARATOR)结尾
'duplicate_name_suffix' => '.pasync', // 副本文件后缀(生成的临时文件,应避免是你项目慧勇斗啊)
'command_separator' => '(::)' // 命令分隔符
];
说明: 此项目应该避免在生产环境使用,除非你非常了解他可能存在的问题,且能够快速恢复被修改的文件 不配置任何项目直接运行,项目会同步 vendor/aex/php-async/test_code/下的 client 和 server目录 你可以尝试修改client下的文件看server目录的结果
php-async运行之前默认认为服务端代码和客户端代码是一致的,只会检测到开始运行后增量的变化
使用场景举例
在开发微信项目的时候,很多api只能在外部服务器测试使用,在测试服务器直接修改代码又不能运行得心应手的IDE,如果服务器使用git 本地代码每次修改都要提交并推送,即使只是修改了一行调试代码。服务器同时需要拉取代码,即使配置钩子,也要有个配置钩子的成本。 使用
php-async使得你每次本地修改,几乎都能立刻(间隔5秒)在测试环境看到调试效果。调试完成你可以使用 git revert 还原代码
已知BUG
因为精力有限,次要BUG 会后续慢慢修复
- 同步修改的文件最后一行都多一个换行
- 删除目录,服务端只会把下面的所有文件删除,留下空目录
License
php-async is licensed under The MIT License (MIT).
aex/php-async 适用场景与选型建议
aex/php-async 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 21 次下载、GitHub Stars 达 2, 最近一次更新时间为 2019 年 01 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「async」 「php async」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 aex/php-async 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 aex/php-async 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 aex/php-async 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
The bundle for easy using json-rpc api on your project
An async event for hyperf.
Zenity allows you to build graphical desktop (GUI) applications in PHP, built on top of ReactPHP.
Alfabank REST API integration
Async Curl using React\ChildProcess
SSH server implementation for ReactPHP
统计信息
- 总下载量: 21
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-01-20