随笔分类 -  php

上一页 1 2 3 4 下一页

[PHP] Laravel 依赖注入使用不当引起的内存溢出
摘要:业务逻辑: 正常在 controller 方法的参数中注入某个类,方法中使用这个类时发生内存超出提示。 分析: 过往显示,正常使用依赖注入是不存在问题的,那么很有可能是哪里发生了循环引用,导致一直请求某个操作而消耗内存。 排查: 业务逻辑没有任何问题。 在定义路由时,该路由指定了某个中间件,需要排查 阅读全文

posted @ 2020-01-25 15:51 ercom 阅读(1492) 评论(0) 推荐(0)

[PHP] 浅谈 Laravel auth:api 不同驱动 token 和 passport 的区别
摘要:token 驱动使用 TokenGuard 用传递的值去用户表中查询 member_token 字段的值,看是否有匹配的。 服务端需要在用户表 member_token 字段中存储 access_token。 默认是永久存储,未提供设置过期时间的机制。 passport 驱动是 laravel/pa 阅读全文

posted @ 2020-01-21 21:34 ercom 阅读(1593) 评论(0) 推荐(0)

[PHP] 自定义 laravel/passport 的误区讲解
摘要:Passport 的 Client 模型对应用户是默认的 User 模型、使用的 guards 是 api。 如果你发现自定义 passport 时总是调试不成功,那么很有可能是以下原因。 /** * Get the user that the client belongs to. * * @ret 阅读全文

posted @ 2020-01-21 16:58 ercom 阅读(1102) 评论(0) 推荐(0)

[PHP] 浅谈 Laravel Authentication 的 auth:api
摘要:auth:api 在 Laravel 的 Routing , Middleware , API Authentication 主题中都有出现。 一. 在 Routing 部分可以知道 auth:api 是中间件的名字,代表某个中间件实现,使用方式为 Route::middleware('auth:a 阅读全文

posted @ 2019-11-05 22:33 ercom 阅读(7010) 评论(0) 推荐(0)

[PHP] 浅谈 Laravel Authentication 的 guards 与 providers
摘要:从文档的简单介绍上来讲,有一些抽象。 个人感觉,对于概念上的大多数不理解主要还是来自于 文档不是讲设计思路,而是实际操作。 查看英文文档,通常来说可以给你最准确的直觉,而本地翻译一般比较字面或者带有理解性的。 https://laravel.com/docs/6.x/authentication#i 阅读全文

posted @ 2019-11-04 03:03 ercom 阅读(1201) 评论(0) 推荐(0)

[Swoole入门到进阶] [公开课] Swoole服务器-Server的四层生命周期
摘要:PHP 完整生命周期 执行PHP文件 PHP扩展模块初始化(MINIT) PHP扩展请求初始化(RINIT) 执行 PHP 逻辑 PHP扩展请求结束(RSHUTDOWN) PHP脚本清理 PHP扩展模块结束(MSHUTDOWN) 终止PHP PHP 请求生命周期 如果是 cli 执行 PHP 脚本, 阅读全文

posted @ 2019-09-07 20:01 ercom 阅读(623) 评论(0) 推荐(0)

[Swoole入门到进阶] [公开课] Swoole协程-Swoole4.4.4 提供 WaitGroup 功能
摘要:在 Swoole4 中可以使用 channel 实现协程间的通信、依赖管理、协程同步。 简单来说,WaitGroup 就是使用 channel 的机制,让主协程等待所有子协程结束后才退出的功能。 Course http://www.yzmedu.com/learn/8906 Refer Swoole 阅读全文

posted @ 2019-08-28 11:52 ercom 阅读(1400) 评论(0) 推荐(0)

[Sw] Swoole 生态迷局,基于 Swoole 的第 109 框架
摘要:这两天,又一全栈式 Swoole 协程框架面世了 - hyperf,实现思路是我内心点了赞同的,就集成现有 PHP 生态优质组件到 Swoole 的协程中来。 有人想到,为什么不是 Swoole 集成到 Web 框架中,当然已经有案例了,如果是老项目这么做是可以通过常驻内存提升性能的,并且利用到 S 阅读全文

posted @ 2019-06-21 09:08 ercom 阅读(921) 评论(0) 推荐(0)

[Sw] 使用 Swoole Server task/协程 处理大数据量异步任务时注意
摘要:关于 Buffered Query 和 Unbuffered Query:http://www.php.net/manual/zh/mysqlinfo.concepts.buffering.php 对于结果集小的查询,一般就开启 Buffered Query 一次取回(fetchAll); 对于结果 阅读全文

posted @ 2019-01-09 03:23 ercom 阅读(5267) 评论(0) 推荐(1)

[Sw] Swoole-4.2.9 可以尝试愉快应用 Swoole 协程
摘要:大家知道 Swoole 提供了方便于服务器、网络编程的模式,简化了多进程编程。 这直接让 PHP 的运行很容易变成常驻内存的 Server 程序,执行效率上有了数倍的提升。 但是这一切还没有让人足够兴奋,直到协程的完整支持,也就是说,可以随时随地并发了。 swoole-4.2.9 及以上,完整支持了 阅读全文

posted @ 2019-01-08 01:06 ercom 阅读(890) 评论(0) 推荐(0)

[PHP] 常备的现代 PHP 项目开发准备
摘要:[ Windows 开发环境 ] phpStudy(http://phpstudy.php.cn/) 现在一般选择版本: php7.1 + nginx,常用 curl、openssl 扩展选择打开。 项目安装依赖包:php C:\phpStudy\PHPTutorial\tools\composer 阅读全文

posted @ 2019-01-06 15:49 ercom 阅读(328) 评论(0) 推荐(0)

[SF] Symfony 标准 HttpFoundation\Request 实现分析
摘要:使用方式 /** * 如果直接示例化 Request 默认是没有参数的,可以自己传入 * 本方法将 PHP 超全局变量作为参数然后实例化自身(Request)进行初始化。 */ $request = Request::createFromGlobals(); 表面的 Request 对象格式 + 是 阅读全文

posted @ 2018-09-09 23:24 ercom 阅读(538) 评论(0) 推荐(0)

[Design] 后端程序的高并发与异步
摘要:既然涉及到高并发这个概念,就少不了先谈这么几个概念,并发数、多进程、多线程、协程、负载均衡。 操作系统上讲的并发是操作系统上有几个程序在同时执行,单核CPU在微观上是由CPU调度执行,非同时执行,多核CPU在微观上才是真正的并行。 互联网产品的并发通常是指并发连接数,用户同时访问数量,哪些因素能影响 阅读全文

posted @ 2018-08-21 23:47 ercom 阅读(1309) 评论(0) 推荐(1)

[phvia/firman] PHP多进程服务器模型中的惊群
摘要:[ 典型场景 ] 典型的多进程服务器模型是这样的,主进程绑定ip,监听port,fork几个子进程,子进程安装信号处理器,随后轮询资源描述符检查是否可读可写; 子进程的轮询又涉及到 IO复用,accept连接,事件处理 系列操作。 以下用伪码表示这个过程: Master: bind -> liste 阅读全文

posted @ 2018-04-08 20:37 ercom 阅读(601) 评论(0) 推荐(0)

[HTTP] PHP 实现 HTTP Server 原理
摘要:单进程服务器简陋版: <?php /** * Single http server. * * Access http://127.0.0.1:8081 * * @license Apache-2.0 * @author farwish */ $s_socket_uri = 'tcp://0.0.0. 阅读全文

posted @ 2018-02-05 19:45 ercom 阅读(2346) 评论(0) 推荐(0)

[SF] Symfony 组件 BrowserKit 原理
摘要:直接看下面的注释中针对每一个文件的作用说明。 <?php /** * BrowserKit - Make internal requests to your application. * * If you need to make requests to external sites and app 阅读全文

posted @ 2018-02-05 18:15 ercom 阅读(404) 评论(0) 推荐(0)

[PHP] PDO占位符预处理在 IN 和 LIKE 中用法
摘要:两点注意项: 1. 占位符 (?) 必须被用在整个值的位置,不需要引号等其它字符。 2. 参数按数组元素顺序依次传递给占位符。 <?php /** * PDO基于占位符的查询预处理 * * @license Apache * @author farwish <farwish(a)foxmail.co 阅读全文

posted @ 2017-12-18 21:27 ercom 阅读(1339) 评论(0) 推荐(0)

[SF] Symfony 在 console 中结合 Workerman
摘要:在web框架的console中,命令不再是直接指定入口文件,如以往 php test.php start,而是类似 php app/console do 的形式。 workerman 对命令的解析是 parseCommand 方法,里面主要是处理 $argv 全局变量。 那么我们只需要在自己的逻辑中 阅读全文

posted @ 2017-12-05 18:11 ercom 阅读(981) 评论(0) 推荐(0)

[PHP]全局使用 Composer 组件的思路
摘要:/** * 全局使用 composer 组件的步骤: * * 1. 建一个包含所有需要全局使用的composer包的项目。 * 如:globalVendor/ * composer init 初始化 * composer install 安装 * * 2. php.ini中指定 auto_prepe 阅读全文

posted @ 2017-08-20 18:12 ercom 阅读(347) 评论(0) 推荐(0)

[PHP] 接口请求校验的原理
摘要:具体的校验步骤可以自定义,下面是比较直观的一种形式: 1. 客户端:请求参数带上时间,进行首字母排序,连接私钥后,取得加密结果; 客户端请求时带上这个加密结果作为sign参数。 2. 服务端:对sign参数进行校验(过程同上),如果正确且在有效期内,则通过。 示例程序: <?php /** * Si 阅读全文

posted @ 2017-04-12 18:02 ercom 阅读(2021) 评论(0) 推荐(0)

上一页 1 2 3 4 下一页