结论 master进程并不接收和分发请求,而是worker进程直接accpet请求后poll处理. master进程不断调用epoll_wait和getsockopt是用来异步处理信号事件和定时器事件. 验证方法 把Nginx和fpm都设置成了1个worker进程观察,得出结论是不会经过fpm的ma…
最近将配置中心接入到Aliyun ACM,期间碰到了一些小问题,总结下来希望对后来人有帮助。 本地配置composer require hyperf/config-aliyun-acm //安装 php bin/hyperf.php vendor:publish hyperf/config-aliy…
在[微服务]中JSON-RPC服务,这章中碰到了无法返回返回[PHP对象]的问题。 首先把场景复现下1.服务在没有使用[PHP对象]时是正常的。2.服务提供者的定义<?php namespace App\JsonRpc; use Hyperf\RpcServer\Annotation\RpcS…
说到Laravel的生命周期,我们首先要知道laravel有两种模式,一种是HTTP请求,一种是命令行。它们有不同的入口和内核。我们这里以HTTP请求模式来解析laravel的生命周期。 第一步 Laravel 应用的所有请求入口都是 public/index.php 文件。打开 index.php…
<?php /** * User: Jobs Lin * Date: 2019/12/14 * Time: 19:52 */ interface Milldeware { public static function handle(Closure $next); } class VerfiyC…
<?php /** * User: Jobs Lin * Date: 2019/12/11 * Time: 15:34 */ interface Log { public function write(); } // 文件记录日志 class FileLog implements Log { …
使用闭包就可以实现了<?php class Books{ public $count = 1; private $sum = 2; } function getInitializer(Books $books) { return \Closure::bind(function () use (…
最近在研究Composer的自动加载时,发现spl_autoload_register()这个函数非常重要,总结下。 spl_autoload_register() 的作用是 注册给定的函数作为 __autoload 的实现 spl_autoload_register()函数是实现自动加载未定义类功…
PHP 标签 PHP 代码 必须 使用 <?php ?> 长标签 或 <?= ?> 短输出标签;一定不可 使用其它自定义标签。 字符集编码 PHP 代码 必须 且只可使用 不带 BOM 的 UTF-8 编码。 副作用 总结下这个就是文件中定义了类和方法就不要再在业务逻辑了。。…
最近公司的一部分业务需要解耦,上消息队列。 原本打算使用 RabbitMQ ,不过啃了一段时间,太难了。。。 先使用laravel自带的消息队列来实现吧。 准备 laravel的队列驱动器有好多种,比如 "sync", "database", "be…