首页
学习
活动
专区
工具
TVP
发布

PHP饭米粒

专栏作者
62
文章
63689
阅读量
27
订阅数
10 个内存引发的大坑,你能躲开几个?(1)
对程序员来说内存相关的 bug 排查难度几乎和多线程问题并驾齐驱,当程序出现运行异常时可能距离真正有 bug 的那行代码已经很远了,这就导致问题定位排查非常困难,这篇文章将总结涉及内存的一些经典 bug ,快来看看你知道几个,或者你的程序中现在有几个。。。
桶哥
2021-03-18
3850
为啥会内存泄漏?一个免费的检测工具来了
首先,传统的跑在 FPM 下的 PHP 代码是没有“内存泄漏”一说的,所谓的内存泄漏就是忘记释放内存,导致进程占用的物理内存(附1)持续增长,得益于 PHP 的短生命周期,PHP 内核有一个关键函数叫做php_request_shutdown此函数会在请求结束后,把请求期间申请的所有内存都释放掉,这从根本上杜绝了内存泄漏,极大的提高了 PHPer 的开发效率,同时也会导致性能的下降,例如单例对象,没必要每次请求都重新申请释放这个单例对象的内存。(这也是Swoole等cli方案的优势之一,因为 cli 请求结束不会清理内存)。
桶哥
2020-09-18
2.4K0
Swoole v4.5.3 版本发布
新增 API 增加 Swoole\Process\ProcessManager (swoole/library#88f147b) (@huanghantao) 增加 ArrayObject::append, StringObject::equals (swoole/library#f28556f) (@matyhtf) 增加 Coroutine::parallel (swoole/library#6aa89a9) (@matyhtf) 增加 Coroutine\Barrier (swoole/library
桶哥
2020-09-10
6370
PHP内存分配超过限制的退出流程
我们知道,在PHP的世界里,如果我们要申请一块内存 ,但是没有申请到,那么就会导致fatal级别的错误。我们来测试下:
桶哥
2020-07-15
1.6K0
漫谈Swoole协程与异步IO
初次接触Swoole的PHP开发者多少都会有点雾里看花的感觉,看不清本质。一部分PHP开发者并不清楚Swoole是什么,只是觉得很牛掰就想用了,这种行为无异于写作文的时候总想堆砌一些华丽的辞藻或是引经据典来提升文章逼格,却背离了文章的主题,本末倒置,每一种技术的诞生都有它的原因,异步或是协程不是万能的银弹,你需要它的时候再去用它,而不是想用它而用它,毕竟编程世界的惯性是巨大的,这天下还是同步阻塞的天下。还有一部分开发者是对Swoole有了一些自己的见解,但对错参半,写出来的程序能跑,甚至也能上生产,但不是最优的,其中大部分问题都源于开发者无法将惯有的思维方式灵活转变。
桶哥
2020-06-17
2.1K0
玩转 PHP 网络编程全套之 libevent 框架首篇
此框架的扩展是LIBEVENT,php手册地址libevent,该框架了封装I/O事件,定时事件,中断信号事件,内核I/O复用函数支持EPOLL,POLL,SELECT,DEVPOLL,KQUEUE。框架官方网站libvent官网以下项目使用了该框架
桶哥
2020-05-22
7300
Swoole 船新版本文档发布了,是兄弟就砍我!
Swoole的文档一直被人所吐槽,虽然内容很丰富,但看起来很费力,更新也稍有些不足,所以这次识沃科技专门组织了人力和资源重新打造这一船新版本的文档,让人眼前一亮,下面我们一起来看看吧
桶哥
2020-02-25
4590
Swoole 2020 :4.5 新版本的规划
转眼 Swoole 开源项目已经历 8 个年头。这 8 年里,有 116 位开发者为 Swoole 贡献了内核代码。有无数 PHP 开发者为 Swoole 提供 BUG 反馈和改进建议。也有大量 Swoole 用户活跃在 Swoole 的问答社区、SegmentFault Swoole 专栏、QQ/微信技术交流群。在 GitHub 平台也累积了 1.5万 + 的 star。作为 Swoole 的创始人、核心开发者,倍感荣幸。感谢各位开发者为 Swoole 生态所做出的贡献。我们一定会不忘初心,坚持开源。
桶哥
2020-02-16
8190
php的垃圾回收机制
在平时php-fpm的时候,可能很少人注意php的变量回收,但是到swoole常驻内存开发后,就不得不重视这个了,因为在常驻内存下,如果不了解变量回收机制,可能就会出现内存泄露的问题,本文将一步步带你了解php的垃圾回收机制,让你写出的代码不再内存泄漏
桶哥
2020-01-15
9310
史上最好用,支持最全的PHP性能调优工具来了!
Swoole Tracker 2.8.3 发布,这个版本开始全面支持 PHP5.4,PHP5.5 和 PHP5.6,做这个兼容之前很多人和我说这是个收益非常低的事情,因为未来肯定是 PHP7 用户多,我们做这事有以下几点原因:
桶哥
2020-01-15
1.7K0
PHP+Swoole并发编程的魅力
PHP语言是一个短生命周期的Web编程语言,很多PHPer已经形成了fpm下编程的思维定势。实际上在Swoole出现之后,这种串行化编程的模式早已被打破。使用Swoole完全可以轻易实现更灵活的并发编程。
桶哥
2019-10-21
7180
聊聊细节 - 你知道缓存的正确打开方式么?(1)
大的架构设计,各种高大上的概念层出不穷,相信很多人也或多或少的了解过,但其实,我们真的要把一个系统做强壮,做好,打磨细节才是根本,有句老话:细节是魔鬼,所以会来一系列的文章,来介绍各种细节上的问题,也欢迎大家多多投稿,本系列的开篇就是讲缓存
桶哥
2019-09-04
5881
Swoft 2.0.5 更新,新增高效秒级定时任务、异常管理组件
Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。
桶哥
2019-08-08
8560
手把手撸PHP扩展 0x08: 协程创建(四)
size是结构体zend_fcall_info的大小,通过sizeof(fci)计算得到。
桶哥
2019-08-01
7760
Hyperf 发布 Swoole Enterprise 及 视图 及 Task 组件 | 企业级的 PHP 微服务协程框架
本次更新主要新增了 Swoole Enterprise 组件 和 视图 组件 和 Task 组件,同时强化了 JSON RPC 的异常处理和完善了 JSON RPC 在 TCP 协议下的服务注册及管理,以及修复了一些其它组件的 Bug,发布于 1.0.6 版。 相关组件的文档可通过上面的超链接进入查看,或直接访问 官网 https://www.hyperf.io 或 文档 https://doc.hyperf.io 查看。
桶哥
2019-07-30
9330
手把手撸PHP扩展 0x07: 协程创建(三)
上一篇文章,我们成功的实现了把一个用户空间的函数传递给创建协程的接口的功能。这一篇文章,我们来介绍一下如何去调用这个用户空间的函数。
桶哥
2019-07-24
4110
手把手撸PHP扩展 0x06: 协程创建(二)
首先,我们需要对传给接口的参数进行解析。解析参数需要使用PHP提供给我们的宏来完成,分别是开头的和结尾的宏:
桶哥
2019-07-23
6330
手把手撸PHP扩展 0x05: 协程创建(一)
首先,我们需要一个PHP可用的协程,根据梳理一下架构这篇文章的内容,我们需要在study_coroutine.h里面来定义:
桶哥
2019-07-17
4640
手把手撸PHP扩展 0x04: 梳理一下架构
首先,我们需要去实现一个协程库,这个协程库是与PHP本身无关的。也就是说,我们实现的这个协程库可以用在其他地方,不一定是给PHP用的,功能主要是和上下文切换有关。我们把这个协程库放在目录src/coroutine里面。
桶哥
2019-07-17
3510
Swoft 2.0.3 重大更新,发布优雅的微服务治理
Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。
桶哥
2019-07-17
8290
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档