Posts
AI Coding
- Yac 2.4.0发布 - 小值读取性能提升64%
- Yac 2.4.0 Released — 64% Faster Small-Value Reads
- Wechatian: 让AI有事就来微信找你
- Wechatian: Let Your AI Reach You on WeChat
- 用DeepSeek V4 Pro改进Yaconf:快是真快,但它把我代码搞丢了
- Improving Yaconf with DeepSeek V4 Pro: Fast It Was, but It Lost My Code
- 用Obsidian+Claudian+Ds搭建个人AI助理
- Building a Personal AI Assistant with Obsidian + Claudian + DeepSeek
- Taint支持PHP8啦!
- Taint supports PHP 8 now!
English
- Reconstructing a Real Apartment with GPT-6 Astra
- Yac 2.4.0 Released — 64% Faster Small-Value Reads
- Using Yac as WordPress's Object Cache: 19% Faster than Memcached
- Wechatian: Let Your AI Reach You on WeChat
- Improving Yaconf with DeepSeek V4 Pro: Fast It Was, but It Lost My Code
- Building a Personal AI Assistant with Obsidian + Claudian + DeepSeek
- Taint supports PHP 8 now!
- Named Parameters in PHP 8.0
- On PHP, and on Realsee
- New in PHP 8: the match Expression
- A Confusing if-else Question
- New in PHP 8: A JIT Primer
- An Efficient strtolower with SSE2
- New in PHP 8: Attributes (Annotations)
- Remote pbcopy for iTerm2 using OSC 52
- Yaf 3.2 released
- Building a Yar TCP service with PHP Sockets
- Yac 2.1 Upgrade Notes
- Understanding PHP 7 Internals: OBJECT
- Yar 2.1 — new features
- Yaf 3.1: A 10% Performance Boost
- Yaconf 1.1 — the 40% faster release
- PHP FFI in detail — a brand-new way to write PHP extensions
- Accelerating character replacement with the SSE2 instruction set
- Yaf_Loader refactor benchmark
- PHP_INT_MIN and -9223372036854775808
- Understanding PHP 7 Internals: FAST_ZPP
- Understanding PHP 7 Internals: HashTable
- What does var_dump(1...9) output?
- Speed up your website with a memory disk (tmpfs)
- Migrating the Blog to Tencent Cloud
- print is not a function
- The Confusing strtotime
- Understanding PHP 7 Internals: References
- Understanding PHP 7 Internals: zval
- The HTTPOXY Vulnerability, Explained from PHP's Side
- Five Tips to Get the Most Performance Out of PHP 7
- Some Words on the Release of PHP 7
- Making Your PHP 7 Faster, Part 1: HugePages
- Making Your PHP 7 Faster (GCC PGO)
- Yaconf — A High-Performance Configuration Management Extension
- A Battle Without a Victory: Chasing a glibc freeres Bug
- My QCon 2015 Beijing Slides — PHP 7
- Value, in a Programmer's Eyes
- PHP 7 vs HHVM (WordPress)
- A "Problem" Caused by GCC Optimization
- A "Bug" with Curl's Millisecond Timeout
- A Quick Share on Zend O+
- Weibo LAMP Evolution — Slides from My June Talk in Shanghai
- Introducing php-valgrind: A Little Tool
- An Answer to a Common PHP Floating-Point Question
- Yac (Yet Another Cache) — A Lock-Free Shared-Memory Cache
- A Pitfall of PDOStatement::bindParam
- One Reason Why Mcrypt Can Be Slow
- Yaf and Phalcon, Which Is Faster?
- Yar — A Concurrent RPC Framework
- Once Again, Don't Use (include/require)_once
- Some Notes on Yaf
- PHP 5.5 May Introduce Generators
- PHP and the Data URL Scheme
- PHP's New Feature: finally
- On Separating PHP's Compilation and Execution
- On Language Choice — Pick the One That's Easy to Use
- Please Release Your Resources Manually
- Some Yaf Resources
- PHP's Calling Scope
- Making PHP Serve File Downloads Faster
- How to Contribute Code to PHP
- PHP Demands More from the Programmer
- Taint-0.3.0 (An XSS codes sniffer) released
- PHP Taint — An Extension for Detecting XSS/SQL/Shell Injection Vulnerabilities
- PHP 5.3.9 Remote Code Execution Vulnerability (CVE-2012-0830)
- When Should We Use Exceptions?
- Why Does exit(-1) Give an Exit Code of 255?
- The History of PHP
- How to Set Up a Strictly 30-Minute Expiring Session
- A Patch for PHP 5.2.* to Prevent Hash-Collision Denial-of-Service Attacks
- A PHP Array Hash-Collision Example
- Denial-of-Service Attacks on Various Languages via Constructed Hash Collisions
- Update on a Previously Mentioned PHP 5.4 Gotcha (Chained String Offsets)
- What You Should Know About Floats in PHP (All 'bogus' about the float in PHP)
- A Simpler Way to Reconstruct the PHP Core Call Stack
- Yaf 2.1 Benchmark
- A GBK-Encoded PHP Script Causing a Syntax Error (Zend Multibyte)
- PHP 5.4 New Feature — Instance Method Call / Property Access
- PHP Internals — A Few Hard-to-Understand Points in Zend Memory Management
- Ternary Operator Performance Optimization
- Zend Signal in PHP 5.4
- Making JSON Understand Chinese Better (JSON_UNESCAPED_UNICODE)
- Binary Number Format (Binary Literals)
- Callable Type Hints
- Upload Progress Support (Upload Progress in Sessions)
- Array Dereferencing
- The JsonSerializable Interface
- Introducing the mysqlnd_ms Plugin
- Recursive Patterns in PHP Regex
- An Improvement I Made to PHP 5.4 (Compatible-Declaration Error Messages)
- Answering a Question on bugs.php.net (Why __get Is Called Twice After unsetting a Private Property)
- Some Resources for PHP Extension Development
- Optimizations in the Zend Engine (PHP 5.4)
- PHP RFC: Letting PHP's foreach Support list()
- Introducing the New Type Descriptors in the Zend Parameters Parser
- New Features in PHP 5.4
- Debugging a PHP Core — Getting Basic Information
- PHP Performance Optimization
- Yaf - A PHP Framework Extension
- Setting a Query Timeout for MySQL
- Using fastcgi_finish_request to Speed Up Page Responses
- PHP Internals — A Low-Probability Notice in Session GC
- Some PHP Coding Tips [last updated 2011-04-02]
- A Bug in PHP's Reflection Extension
- The Leftover Problem with a Serializable Singleton — Answer
- Serialize/Unserialize Breaks the Singleton
- PHP Memory Management — Who Moved My Memory
- Speeding Up PHP's ECHO
- PHP Memory Management — Analyzing a Low-Probability Core
- Using HTTP 204 and 205
- Expect: 100-continue
- PHP is Innocent
- Compilation failed: support for \P, \p, and \X has not been compiled
- How to Get the Name of a Variable
- How PHP Implements Namespaces
- Yaf — A PHP Framework Implemented as a PHP Extension
- PHP Internals — The Exception Mechanism
- An Exception to PHP's Operator Precedence
- Customizing Your Own PHP Syntax: Implementing unless in PHP
- ReflectionFunction(Method) Reference Parameters Cause "Invocation failed"
- PHP Internals — Anonymous Functions
- A Deep Dive into PCRE's Max Backtrack/Recursion Limits
- A Bug Related to PHP Type Casting
- A Possible Security Vulnerability in Nginx + PHP CGI
- PHP Internals — Objects (Part 1)
- A Misconception About the JavaScript Prototype Chain
- PHP Internals — The require/include Lookup Order
- Understanding the Difference Between SET NAMES and mysql(i)_set_charset
- Two Ways to Configure PHP in Apache2 — Similarities and Differences
- An Error from an Unwarranted Assumption (the Return Value of an Assignment)
- PHP Internals — The Lifetime of a Variable (Part 1)
- The Difference Between isset and is_null
- A memory_limit Bug
- The PATH_INFO Problem with Nginx (PHP/fastcgi)
- PHP File Upload Source Analysis (RFC1867)
- PHP Internals — Array Traversal Order
- Enforcing Dependencies Between PHP Extensions
- PHP Internals — Error Suppression and Inline HTML
- The Hash Algorithm in PHP
- A PHP Session Warning
- PHP Internals — The Extension Loading Process
- Multi-process Applications in PHP CLI Mode
- Why Non-Numeric Array Keys Must Be Quoted
- How to Write the Fastest Loop
- PHP Internals — How foreach Works
- PHP Internals - File Upload
- PHP Internals — Variable Separation and References
- PHP Internals — Variable Scope in PHP
- PHP Internals — the global Keyword
- PHP Internals — Variables inside PHP
- The Difference Between Single and Double Quotes in PHP
- PHP Internals — Zend SAPI Internals
- PHP Internals — Functions (Introspecting PHP Function)
- Exploring PHP — From Script to Execution
- Introspecting TSRM
- PHP Internals — Opcodes
- Writing a Module That Provides Objects for PHP to Use
- Ways to Make Asynchronous Calls in PHP
- Getting $_GET/$_POST/$_COOKIE Inside a PHP Module
- The Difference Between var_export and var_dump
- PHP: Header
GNU C/C++
- 使用SSE2指令高效实现strtolower
- An Efficient strtolower with SSE2
- 使用OSC52实现iTerm2远程pbcopy
- Remote pbcopy for iTerm2 using OSC 52
- 使用SSE2指令集加速字符替换
- Accelerating character replacement with the SSE2 instruction set
- GCC优化引起的一个"问题"
- A "Problem" Caused by GCC Optimization
- Weibo LAMP演变 - 6月在上海分享的PPT
- Weibo LAMP Evolution — Slides from My June Talk in Shanghai
- Introducing php-valgrind: A Little Tool
- 一个小玩意PHP-Valgrind的介绍
- On Language Choice — Pick the One That's Easy to Use
- 关于语言的选择-选易用的
- 浏览器多tab打开同一URL串行化的问题
- pkg-config与LD_LIBRARY_PATH
- automake,autoconf使用详解
- 关于调用约定(cdecl、fastcall、stcall、thiscall) 的一点知识
Js/CSS
- Wechatian: 让AI有事就来微信找你
- Wechatian: Let Your AI Reach You on WeChat
- HTTP 204和205的应用
- Using HTTP 204 and 205
- Javascript原型链和原型的一个误区
- A Misconception About the JavaScript Prototype Chain
- IE下var的重要性的又一佐证
- 关于Javascript的俩个有趣的探讨
- 深入理解JavaScript定时机制
- CSS让你的IE浏览器崩溃(Crash your IE)
- 深入理解Javascript之this关键字
- 纯属娱乐(彩蛋)
- 正确使用JS中的正则
- 开心网偷菜外挂
- Javascript作用域原理
- JS文件装载器(Eve Js Loader)
- 使用JS做文档处理
- 关于事件模拟
- 东方时尚约车脚本(greaseMoney)
- 图片上传即时显示缩略图解决方法
- 使用CSS实现圈人效果(CSS Sprites)
- 关于Javascript的作用域链的几句话
- Js处理Json的"invalid label"错
- Firefox DNS Cache 清除 扩展 V0.1
- 关于JavaScript的执行域,标识符解析,闭包的研究
- Dom事件的srcTarget,strElement探幽
- IE下的Javascript调试利器:Companion.js
- 一个误区(关于javascript的字符串拼接)
Linux/Unix
- Apache Access Log中的Options的含义
- BTwitter(Twitter In Bash)
- shell下发推脚本
- Le Putty - Putty with Zmodem
- 用Vim写Blog
- pkg-config与LD_LIBRARY_PATH
- automake,autoconf使用详解
- The PATH_INFO Problem with Nginx (PHP/fastcgi)
- Nginx(PHP/fastcgi)的PATH_INFO问题
- Linux上配置Nginx+PHP5(FastCGI)
- phpDocumentor
- PHP5多层继承顺序的bug
- 深入浅出PHP(Exploring PHP)
- Exploring PHP — From Script to Execution
- Apache启动过程(PHP_MINIT_FUNCTION的调用)
- 使用C++编写Apache的模块 -- 命令表,保存配置信息
- VIM中文乱码解决方案
PHP Extension
- 用Yac给WordPress做缓存:比Memcached快19%
- Using Yac as WordPress's Object Cache: 19% Faster than Memcached
- Wechatian: 让AI有事就来微信找你
- Wechatian: Let Your AI Reach You on WeChat
- 用DeepSeek V4 Pro改进Yaconf:快是真快,但它把我代码搞丢了
- Improving Yaconf with DeepSeek V4 Pro: Fast It Was, but It Lost My Code
- Taint支持PHP8啦!
- Taint supports PHP 8 now!
- 一个小玩意PHP-Valgrind的介绍
- Introducing php-valgrind: A Little Tool
- Yac (Yet Another Cache) - 无锁共享内存Cache
- Yac (Yet Another Cache) — A Lock-Free Shared-Memory Cache
- 关于PHP的编译和执行分离
- On Separating PHP's Compilation and Execution
- Taint-0.3.0 (An XSS codes sniffer) released
- Taint-0.3.0(A XSS codes sniffer) released
- PHP Taint — An Extension for Detecting XSS/SQL/Shell Injection Vulnerabilities
- PHP Taint - 一个用来检测XSS/SQL/Shell注入漏洞的扩展
- Yaf 2.1 Benchmark
- Yaf 2.1性能测试(Yaf 2.1 Benchmark)
- Plua进入Pecl
- Yaf已提交到PECL
- PLua - Lua for PHP
- Yaf - A PHP Framework Extension
- Yaf - A PHP Framework Extension
- 图解aclocal、autoconf、automake、autoheader、configure
- PHP 源代码分析 V0.0.2
- 实现PHP的编译执行分离(separating compilation and execution)
- PHP Internals — Zend SAPI Internals
- 深入理解Zend SAPIs(Zend SAPI Internals)
- C++判断本机的字节序的方法
- 编写提供对象给PHP使用的Module
- Writing a Module That Provides Objects for PHP to Use
- 使用C++编写Apache的模块 -- 命令表,保存配置信息
- 由signal想到的
- 在PHP Module中获取$_GET/$_POST/$_COOKIE的方法研究
- Getting $_GET/$_POST/$_COOKIE Inside a PHP Module
PHP7
- Yac 2.4.0发布 - 小值读取性能提升64%
- Yac 2.4.0 Released — 64% Faster Small-Value Reads
- 使用PHP Socket开发Yar TCP服务
- Building a Yar TCP service with PHP Sockets
- Yac 2.1 升级说明
- Yac 2.1 Upgrade Notes
- 深入理解PHP7内核之OBJECT
- Understanding PHP 7 Internals: OBJECT
- 深入理解PHP7内核之FAST_ZPP
- Understanding PHP 7 Internals: FAST_ZPP
- 深入理解PHP7内核之HashTable
- Understanding PHP 7 Internals: HashTable
- Understanding PHP 7 Internals: References
- 深入理解PHP7内核之Reference
- Understanding PHP 7 Internals: zval
- 深入理解PHP7内核之zval
- PHP的性能演进(从PHP5.0到PHP7.1的性能全评测)
- 写在PHP7发布之际的一些话
- Some Words on the Release of PHP 7
PHP8
- Yac 2.4.0发布 - 小值读取性能提升64%
- Yac 2.4.0 Released — 64% Faster Small-Value Reads
- Wechatian: 让AI有事就来微信找你
- Wechatian: Let Your AI Reach You on WeChat
- 用DeepSeek V4 Pro改进Yaconf:快是真快,但它把我代码搞丢了
- Improving Yaconf with DeepSeek V4 Pro: Fast It Was, but It Lost My Code
- Taint支持PHP8啦!
- Taint supports PHP 8 now!
- PHP8新特性之match表达式
- New in PHP 8: the match Expression
- PHP 8新特性之JIT简介
- New in PHP 8: A JIT Primer
- An Efficient strtolower with SSE2
- 使用SSE2指令高效实现strtolower
- PHP 8新特性之Attributes(注解)
- New in PHP 8: Attributes (Annotations)
- PHP的性能演进(从PHP5.0到PHP7.1的性能全评测)
PHP应用
- Yac 2.4.0发布 - 小值读取性能提升64%
- Yac 2.4.0 Released — 64% Faster Small-Value Reads
- Using Yac as WordPress's Object Cache: 19% Faster than Memcached
- 用Yac给WordPress做缓存:比Memcached快19%
- Wechatian: Let Your AI Reach You on WeChat
- Wechatian: 让AI有事就来微信找你
- Improving Yaconf with DeepSeek V4 Pro: Fast It Was, but It Lost My Code
- 用DeepSeek V4 Pro改进Yaconf:快是真快,但它把我代码搞丢了
- Taint supports PHP 8 now!
- Taint支持PHP8啦!
- Named Parameters in PHP 8.0
- PHP8.0的Named Parameter
- New in PHP 8: the match Expression
- PHP8新特性之match表达式
- New in PHP 8: A JIT Primer
- PHP 8新特性之JIT简介
- 使用SSE2指令高效实现strtolower
- An Efficient strtolower with SSE2
- PHP 8新特性之Attributes(注解)
- New in PHP 8: Attributes (Annotations)
- Yaf 3.2 发布
- Yaf 3.2 released
- 使用PHP Socket开发Yar TCP服务
- Building a Yar TCP service with PHP Sockets
- Yac 2.1 升级说明
- Yac 2.1 Upgrade Notes
- Yar-2.1 新功能介绍
- Yar 2.1 — new features
- Yaf 3.1: A 10% Performance Boost
- Yaf-3.1 10%性能提升版
- Yaconf-1.1 40%速度提升版
- Yaconf 1.1 — the 40% faster release
- PHP FFI详解 - 一种全新的PHP扩展方式
- PHP FFI in detail — a brand-new way to write PHP extensions
- PHP_INT_MIN and -9223372036854775808
- PHP_INT_MIN 和 -9223372036854775808
- var_dump(1...9)输出什么?
- What does var_dump(1...9) output?
- Speed up your website with a memory disk (tmpfs)
- 使用内存硬盘(tmpfs)来加速你的网站
- print is not a function
- print不是函数
- The Confusing strtotime
- 令人困惑的strtotime
- PHP的性能演进(从PHP5.0到PHP7.1的性能全评测)
- The HTTPOXY Vulnerability, Explained from PHP's Side
- HTTPOXY漏洞说明
- 让PHP7达到最高性能的几个Tips
- Five Tips to Get the Most Performance Out of PHP 7
- 让你的PHP7更快之Hugepage
- Making Your PHP 7 Faster, Part 1: HugePages
- 让你的PHP7更快(GCC PGO)
- Making Your PHP 7 Faster (GCC PGO)
- Yaconf - 一个高性能的配置管理扩展
- Yaconf — A High-Performance Configuration Management Extension
- 在PHP中使用协程实现多任务调度
- 在Qcon 2015 北京上的演讲PPT - PHP7
- My QCon 2015 Beijing Slides — PHP 7
- PHP7 VS HHVM (WordPress)
- PHP 7 vs HHVM (WordPress)
- Curl的毫秒超时的一个"Bug"
- A "Bug" with Curl's Millisecond Timeout
- 一个关于Zend O+的小分享
- A Quick Share on Zend O+
- Weibo LAMP Evolution — Slides from My June Talk in Shanghai
- Weibo LAMP演变 - 6月在上海分享的PPT
- Introducing php-valgrind: A Little Tool
- 一个小玩意PHP-Valgrind的介绍
- An Answer to a Common PHP Floating-Point Question
- PHP浮点数的一个常见问题的解答
- Yac (Yet Another Cache) — A Lock-Free Shared-Memory Cache
- Yac (Yet Another Cache) - 无锁共享内存Cache
- PDOStatement::bindParam的一个陷阱
- A Pitfall of PDOStatement::bindParam
- Mcrypt响应慢的一个原因
- One Reason Why Mcrypt Can Be Slow
- Yaf and Phalcon, which is faster?
- Yaf and Phalcon, Which Is Faster?
- Yar - 并行的RPC框架(Concurrent RPC framework)
- Yar — A Concurrent RPC Framework
- 再一次, 不要使用(include/require)_once
- Once Again, Don't Use (include/require)_once
- Some Notes on Yaf
- 关于Yaf的一些说明
- PHP5.5或将引入Generators
- PHP 5.5 May Introduce Generators
- PHP and the Data URL Scheme
- PHP & "Data" URL scheme
- PHP的新特性finally
- PHP's New Feature: finally
- 关于PHP的编译和执行分离
- On Separating PHP's Compilation and Execution
- 请手动释放你的资源(Please release resources manually)
- Please Release Your Resources Manually
- Some Yaf Resources
- Yaf的一些资源
- PHP's Calling Scope
- PHP的Calling Scope
- Making PHP Serve File Downloads Faster
- 让PHP更快的提供文件下载
- How to Contribute Code to PHP
- 如何为PHP贡献代码
- PHP Demands More from the Programmer
- PHP对程序员的要求更高
- Taint-0.3.0(A XSS codes sniffer) released
- Taint-0.3.0 (An XSS codes sniffer) released
- PHP Taint - 一个用来检测XSS/SQL/Shell注入漏洞的扩展
- PHP Taint — An Extension for Detecting XSS/SQL/Shell Injection Vulnerabilities
- PHP-5.3.9远程执行任意代码漏洞(CVE-2012-0830)
- PHP 5.3.9 Remote Code Execution Vulnerability (CVE-2012-0830)
- 我们什么时候应该使用异常?
- When Should We Use Exceptions?
- 使用exit(-1)为什么得到255退出码?
- Why Does exit(-1) Give an Exit Code of 255?
- 如何设置一个严格30分钟过期的Session
- How to Set Up a Strictly 30-Minute Expiring Session
- 2012年1月全球www网站技术报告
- A Patch for PHP 5.2.* to Prevent Hash-Collision Denial-of-Service Attacks
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- PHP数组的Hash冲突实例
- A PHP Array Hash-Collision Example
- 通过构造Hash冲突实现各种语言的拒绝服务攻击
- Denial-of-Service Attacks on Various Languages via Constructed Hash Collisions
- 之前提到的PHP5.4一个注意点的update
- Update on a Previously Mentioned PHP 5.4 Gotcha (Chained String Offsets)
- What You Should Know About Floats in PHP (All 'bogus' about the float in PHP)
- 关于PHP浮点数你应该知道的(All 'bogus' about the float in PHP)
- A Simpler Way to Reconstruct the PHP Core Call Stack
- 更简单的重现PHP Core的调用栈
- Yaf 2.1 Benchmark
- Yaf 2.1性能测试(Yaf 2.1 Benchmark)
- A GBK-Encoded PHP Script Causing a Syntax Error (Zend Multibyte)
- GBK编码PHP脚本导致语法错误(Zend Multibyte)
- PHP 5.4 New Feature — Instance Method Call / Property Access
- PHP5.4新特性-解引用实例化
- PHP Internals — A Few Hard-to-Understand Points in Zend Memory Management
- PHP原理之内存管理中难懂的几个点
- Yaf的性能对比测试
- Ternary Operator Performance Optimization
- 三元式(ternary)性能优化
- Zend Signal in PHP 5.4
- Zend Signal in PHP 5.4
- 让Json更懂中文(JSON_UNESCAPED_UNICODE)
- Making JSON Understand Chinese Better (JSON_UNESCAPED_UNICODE)
- 二进制直接量(binary number format)
- Binary Number Format (Binary Literals)
- 函数类型提示(Callable typehint)
- Callable Type Hints
- 上传进度支持(Upload progress in sessions)
- Upload Progress Support (Upload Progress in Sessions)
- Array dereferencing
- Array Dereferencing
- JsonSerializable接口
- The JsonSerializable Interface
- mysqlnd插件mysqlnd_ms的介绍
- Introducing the mysqlnd_ms Plugin
- Recursive Patterns in PHP Regex
- PHP正则之递归匹配
- 我对PHP5.4的一个改进
- An Improvement I Made to PHP 5.4 (Compatible-Declaration Error Messages)
- Answering a Question on bugs.php.net (Why __get Is Called Twice After unsetting a Private Property)
- 回答下在bugs.php上的一个问题
- Plua进入Pecl
- 浏览器多tab打开同一URL串行化的问题
- Introducing the New Type Descriptors in the Zend Parameters Parser
- Zend Parameters Parser新增类型描述符介绍
- New Features in PHP 5.4
- PHP5.4的新特性
- 在Windows下编译Yaf
- Yaf已提交到PECL
- Debugging a PHP Core — Getting Basic Information
- 如何调试PHP的Core之获取基本信息
- PLua - Lua for PHP
- 在中国PHP技术高峰论坛(2011)上演讲的PPT
- PHP Performance Optimization
- PHP Performance Optimization
- Yaf - A PHP Framework Extension
- Yaf - A PHP Framework Extension
- Setting a Query Timeout for MySQL
- 为MySQL设置查询超时
- 使用fastcgi_finish_request提高页面响应速度
- Using fastcgi_finish_request to Speed Up Page Responses
- 深入理解PHP原理之Session Gc的一个小概率Notice
- PHP Internals — A Low-Probability Notice in Session GC
- Some PHP Coding Tips [last updated 2011-04-02]
- 一些PHP Coding Tips[2011/04/02最后更新]
- A Bug in PHP's Reflection Extension
- PHP Reflection Extension的一个bug
- The Leftover Problem with a Serializable Singleton — Answer
- 可序列化单例模式的遗留问题答案
- Serialize/Unserialize破坏单例
- Serialize/Unserialize Breaks the Singleton
- PHP Memory Management — Who Moved My Memory
- 深入理解PHP内存管理之谁动了我的内存
- Speeding Up PHP's ECHO
- 加速PHP的ECHO
- 深入理解PHP内存管理之一个低概率Core的分析
- PHP Memory Management — Analyzing a Low-Probability Core
- Using HTTP 204 and 205
- HTTP 204和205的应用
- Expect: 100-continue
- Expect:100-continue
- PHP is Innocent
- PHP是无辜的
- Compilation failed: support for \P, \p, and \X has not been compiled
- Compilation failed: support for \P, \p, and \X has not been compiled
- 如何获取一个变量的名字
- How to Get the Name of a Variable
- PFA - PHP for Android
- Mpass - PHP做Socket服务的解决方案
- PHP的命名空间的实现
- How PHP Implements Namespaces
- Yaf-一个PHP扩展实现的PHP框架
- Yaf — A PHP Framework Implemented as a PHP Extension
- 将PHP Manual融入(g)Vim
- PHP Internals — The Exception Mechanism
- 深入理解PHP原理之异常机制
- 注意PHP对字符串的递增运算
- An Exception to PHP's Operator Precedence
- PHP运算符优先级的一个例外
- Customizing Your Own PHP Syntax: Implementing unless in PHP
- 定制自己的PHP语法-在PHP中实现unless
- ReflectionFunction(Method)引用参数导致Invocation failed
- ReflectionFunction(Method) Reference Parameters Cause "Invocation failed"
- PHP调试技术手册发布(1.0.0 pdf)
- PHP Internals — Anonymous Functions
- 深入理解PHP之匿名函数
- A Deep Dive into PCRE's Max Backtrack/Recursion Limits
- 深悉正则(pcre)最大回溯/递归限制
- PHP错误抑制符(@)导致引用传参失败的Bug
- PHP类型转换相关的一个Bug
- A Bug Related to PHP Type Casting
- A Possible Security Vulnerability in Nginx + PHP CGI
- Nginx + PHP CGI的一个可能的安全漏洞
- 使用PHP_UML生成代码的UML图
- PHP Internals — The require/include Lookup Order
- 深入理解PHP之require/include顺序
- 深入理解ob_flush和flush的区别
- ini_set memory_limit在safe_mode下不可用
- IE下pre标签的InnerHTML问题
- 东方时尚约车脚本(greaseMoney)V2.0
- 使用SoapHeader实现Soap请求验证
- NCR与HTML Entities
- 注意PHP5.2.11之后的json_decode
- Nginx/PHP Fastcgi PATH_INFO的一个问题
- An Error from an Unwarranted Assumption (the Return Value of an Assignment)
- 一个想当然造成的错误(赋值语句的返回值)
- The Difference Between isset and is_null
- isset和is_null的不同
- 分割GBK中文遭遇乱码的解决
- The PATH_INFO Problem with Nginx (PHP/fastcgi)
- Nginx(PHP/fastcgi)的PATH_INFO问题
- 提升PHP性能之改变Zend引擎分发方式
- PHP文件上传源码分析(RFC1867)
- PHP File Upload Source Analysis (RFC1867)
- PHP Internals — Array Traversal Order
- 深入理解PHP之数组(遍历顺序)
- 深入理解PHP原理之错误抑制与内嵌HTML
- PHP Internals — Error Suppression and Inline HTML
- 使用gettext来支持PHP的多语言
- PHP Session的一个警告
- A PHP Session Warning
- PHP CLI模式下的多进程应用
- Multi-process Applications in PHP CLI Mode
- PHP受locale影响的函数
- PHP+Gtk实例(求24点)
- Why Non-Numeric Array Keys Must Be Quoted
- 数组非数字键名引号的必要性
- phpDocumentor
- 如何写出最快的循环
- How to Write the Fastest Loop
- PHP字符串比较
- Mess it up!
- 一个低概率的PHP Core dump
- 深入理解PHP原理之foreach
- PHP Internals — How foreach Works
- 让人无语的139邮箱
- 统一信息存储平台(ISP)
- 深入理解PHP原理之文件上传
- PHP Internals - File Upload
- PHP的GET/POST等大变量生成过程
- 关于一笔试题(Iterator模式)
- 一个巧妙的分页方法
- 使用PHP Embed SAPI实现Opcodes查看器
- PHP5.3 α2初体验
- PHP Internals — Variable Separation and References
- 深入理解PHP原理之变量分离/引用(Variables Separation)
- PHP4中模拟类的析构函数
- HTTP1.0下HTTP_HOST为空
- 深入理解PHP原理之变量作用域(Scope in PHP)
- PHP Internals — Variable Scope in PHP
- PHP5多层继承顺序的bug
- PHP源码分析之Global关键字
- PHP Internals — the global Keyword
- 深入理解PHP原理之变量(Variables inside PHP)
- PHP Internals — Variables inside PHP
- 寻找函数定义在哪个模块
- PHP单引号和双引号的区别
- The Difference Between Single and Double Quotes in PHP
- 用Tidy优化你的HTML(Optimizing HTML with Tidy)
- 扩展PHP[Extending PHP](一)
- PHP Life Cycle演讲幻灯片(PHP Life Cycle Slides)
- 实现PHP的编译执行分离(separating compilation and execution)
- PHP Internals — Zend SAPI Internals
- 深入理解Zend SAPIs(Zend SAPI Internals)
- PHP Internals — Functions (Introspecting PHP Function)
- 深入理解PHP原理之函数(Introspecting PHP Function)
- Exploring PHP — From Script to Execution
- 深入浅出PHP(Exploring PHP)
- Introspecting TSRM
- 揭秘TSRM(Introspecting TSRM)
- Apache启动过程(PHP_MINIT_FUNCTION的调用)
- Zend Engine幻想
- PHP Internals — Opcodes
- 深入理解PHP原理之Opcodes
- 汉字和Unicode码(utf-8)之间的转换(Pack/Unpack)
- 关于PHP你可能不知道的-PHP的事件驱动化设计
- 页面乱码问题根源浅析
- 采用PHP实现"服务器推"技术的聊天室
- 编写提供对象给PHP使用的Module
- Writing a Module That Provides Objects for PHP to Use
- 使用fscok实现异步调用PHP
- PHP实现异步调用方法研究
- Ways to Make Asynchronous Calls in PHP
- 在PHP Module中获取$_GET/$_POST/$_COOKIE的方法研究
- Getting $_GET/$_POST/$_COOKIE Inside a PHP Module
- var_export 与 var_dump的不同
- The Difference Between var_export and var_dump
- PHP:Header
- PHP: Header
PHP源码分析
- 用DeepSeek V4 Pro改进Yaconf:快是真快,但它把我代码搞丢了
- Improving Yaconf with DeepSeek V4 Pro: Fast It Was, but It Lost My Code
- 深入理解PHP7内核之OBJECT
- Understanding PHP 7 Internals: OBJECT
- PHP FFI详解 - 一种全新的PHP扩展方式
- PHP FFI in detail — a brand-new way to write PHP extensions
- 深入理解PHP7内核之FAST_ZPP
- Understanding PHP 7 Internals: FAST_ZPP
- 深入理解PHP7内核之HashTable
- Understanding PHP 7 Internals: HashTable
- 深入理解PHP7内核之Reference
- Understanding PHP 7 Internals: References
- Understanding PHP 7 Internals: zval
- 深入理解PHP7内核之zval
- 让你的PHP7更快之Hugepage
- Making Your PHP 7 Faster, Part 1: HugePages
- Curl的毫秒超时的一个"Bug"
- A "Bug" with Curl's Millisecond Timeout
- Yac (Yet Another Cache) — A Lock-Free Shared-Memory Cache
- Yac (Yet Another Cache) - 无锁共享内存Cache
- A Pitfall of PDOStatement::bindParam
- PDOStatement::bindParam的一个陷阱
- Yar — A Concurrent RPC Framework
- Yar - 并行的RPC框架(Concurrent RPC framework)
- Taint-0.3.0 (An XSS codes sniffer) released
- Taint-0.3.0(A XSS codes sniffer) released
- PHP Taint — An Extension for Detecting XSS/SQL/Shell Injection Vulnerabilities
- PHP Taint - 一个用来检测XSS/SQL/Shell注入漏洞的扩展
- PHP-5.3.9远程执行任意代码漏洞(CVE-2012-0830)
- PHP 5.3.9 Remote Code Execution Vulnerability (CVE-2012-0830)
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- A Patch for PHP 5.2.* to Prevent Hash-Collision Denial-of-Service Attacks
- 之前提到的PHP5.4一个注意点的update
- Update on a Previously Mentioned PHP 5.4 Gotcha (Chained String Offsets)
- What You Should Know About Floats in PHP (All 'bogus' about the float in PHP)
- 关于PHP浮点数你应该知道的(All 'bogus' about the float in PHP)
- PHP原理之内存管理中难懂的几个点
- PHP Internals — A Few Hard-to-Understand Points in Zend Memory Management
- Zend Signal in PHP 5.4
- Zend Signal in PHP 5.4
- 我对PHP5.4的一个改进
- An Improvement I Made to PHP 5.4 (Compatible-Declaration Error Messages)
- 回答下在bugs.php上的一个问题
- Answering a Question on bugs.php.net (Why __get Is Called Twice After unsetting a Private Property)
- Zend引擎的优化
- Optimizations in the Zend Engine (PHP 5.4)
- PHP RFC: Letting PHP's foreach Support list()
- PHP RFC: 让PHP的foreach支持list
- Zend Parameters Parser新增类型描述符介绍
- Introducing the New Type Descriptors in the Zend Parameters Parser
- Debugging a PHP Core — Getting Basic Information
- 如何调试PHP的Core之获取基本信息
- Setting a Query Timeout for MySQL
- 为MySQL设置查询超时
- PHP Internals — A Low-Probability Notice in Session GC
- 深入理解PHP原理之Session Gc的一个小概率Notice
- A Bug in PHP's Reflection Extension
- PHP Reflection Extension的一个bug
- The Leftover Problem with a Serializable Singleton — Answer
- 可序列化单例模式的遗留问题答案
- PHP Memory Management — Who Moved My Memory
- 深入理解PHP内存管理之谁动了我的内存
- Speeding Up PHP's ECHO
- 加速PHP的ECHO
- 深入理解PHP内存管理之一个低概率Core的分析
- PHP Memory Management — Analyzing a Low-Probability Core
- 如何获取一个变量的名字
- How to Get the Name of a Variable
- PHP的命名空间的实现
- How PHP Implements Namespaces
- PHP stream未能及时清理现场导致Core的bug
- Yaf-一个PHP扩展实现的PHP框架
- Yaf — A PHP Framework Implemented as a PHP Extension
- 深入理解PHP原理之异常机制
- PHP Internals — The Exception Mechanism
- PHP运算符优先级的一个例外
- An Exception to PHP's Operator Precedence
- Customizing Your Own PHP Syntax: Implementing unless in PHP
- 定制自己的PHP语法-在PHP中实现unless
- ReflectionFunction(Method) Reference Parameters Cause "Invocation failed"
- ReflectionFunction(Method)引用参数导致Invocation failed
- A Deep Dive into PCRE's Max Backtrack/Recursion Limits
- 深悉正则(pcre)最大回溯/递归限制
- PHP错误抑制符(@)导致引用传参失败的Bug
- PHP类型转换相关的一个Bug
- A Bug Related to PHP Type Casting
- PHP Internals — Objects (Part 1)
- 深入理解PHP原理之对象(一)
- PHP Internals — The require/include Lookup Order
- 深入理解PHP之require/include顺序
- 深入理解SET NAMES和mysql(i)_set_charset的区别
- Understanding the Difference Between SET NAMES and mysql(i)_set_charset
- Two Ways to Configure PHP in Apache2 — Similarities and Differences
- Apache2中俩种设置PHP的异同
- 一个想当然造成的错误(赋值语句的返回值)
- An Error from an Unwarranted Assumption (the Return Value of an Assignment)
- 深入理解PHP原理之变量生命期(一)
- PHP Internals — The Lifetime of a Variable (Part 1)
- isset和is_null的不同
- The Difference Between isset and is_null
- PHP5.2.x + APC的一个bug的定位
- memory_limit的一个bug
- A memory_limit Bug
- 提升PHP性能之改变Zend引擎分发方式
- PHP文件上传源码分析(RFC1867)
- PHP File Upload Source Analysis (RFC1867)
- PHP Internals — Array Traversal Order
- 深入理解PHP之数组(遍历顺序)
- Enforcing Dependencies Between PHP Extensions
- 保证PHP扩展的依赖关系
- The Hash Algorithm in PHP
- PHP中的Hash算法
- PHP Session的一个警告
- A PHP Session Warning
- PHP Internals — The Extension Loading Process
- 深入理解PHP原理之扩展载入过程
- 用C/C++扩展你的PHP
- Why Non-Numeric Array Keys Must Be Quoted
- 数组非数字键名引号的必要性
- 一个低概率的PHP Core dump
- Opcodes list
- PHP Internals — How foreach Works
- 深入理解PHP原理之foreach
- PHP Internals - File Upload
- 深入理解PHP原理之文件上传
- PHP的GET/POST等大变量生成过程
- 关于一笔试题(Iterator模式)
- 使用PHP Embed SAPI实现Opcodes查看器
- PHP Internals — Variable Separation and References
- 深入理解PHP原理之变量分离/引用(Variables Separation)
- 深入理解PHP原理之变量作用域(Scope in PHP)
- PHP Internals — Variable Scope in PHP
- PHP5多层继承顺序的bug
- PHP Internals — the global Keyword
- PHP源码分析之Global关键字
- 深入理解PHP原理之变量(Variables inside PHP)
- PHP Internals — Variables inside PHP
- The Difference Between Single and Double Quotes in PHP
- PHP单引号和双引号的区别
- 扩展PHP[Extending PHP](一)
- PHP Life Cycle演讲幻灯片(PHP Life Cycle Slides)
- PHP 源代码分析 V0.0.2
- 实现PHP的编译执行分离(separating compilation and execution)
- 深入理解Zend SAPIs(Zend SAPI Internals)
- PHP Internals — Zend SAPI Internals
- 深入理解PHP原理之函数(Introspecting PHP Function)
- PHP Internals — Functions (Introspecting PHP Function)
- 深入浅出PHP(Exploring PHP)
- Exploring PHP — From Script to Execution
- 揭秘TSRM(Introspecting TSRM)
- Introspecting TSRM
- Apache启动过程(PHP_MINIT_FUNCTION的调用)
- 深入理解PHP原理之Opcodes
- PHP Internals — Opcodes
- 编写提供对象给PHP使用的Module
- Writing a Module That Provides Objects for PHP to Use
- 在PHP Module中获取$_GET/$_POST/$_COOKIE的方法研究
- Getting $_GET/$_POST/$_COOKIE Inside a PHP Module
转载
- Yaf 3.2 发布
- Yaf 3.2 released
- Yar-2.1 新功能介绍
- Yar 2.1 — new features
- PHP的性能演进(从PHP5.0到PHP7.1的性能全评测)
- 在PHP中使用协程实现多任务调度
- A Battle Without a Victory: Chasing a glibc freeres Bug
- 记录一场没有胜利的局部战斗
- The History of PHP
- PHP的历史
- 2012年1月全球www网站技术报告
- A PHP Array Hash-Collision Example
- PHP数组的Hash冲突实例
- Yaf的性能对比测试
- The JsonSerializable Interface
- JsonSerializable接口
- 和一朋友对话有感
- PHP RFC: 让PHP的foreach支持list
- PHP RFC: Letting PHP's foreach Support list()
- 在Windows下编译Yaf
- 使用fastcgi_finish_request提高页面响应速度
- Using fastcgi_finish_request to Speed Up Page Responses
- PFA - PHP for Android
- [转载]技术文化和惨淡命运 —— 怀念中国雅虎
- 用Vim写Blog
- 浏览器缓存机制
- Facebook性能大提升的秘密:HipHop
- pkg-config与LD_LIBRARY_PATH
- automake,autoconf使用详解
- 深入理解JavaScript定时机制
- CSS让你的IE浏览器崩溃(Crash your IE)
- 字符编码详解(基础)
- Linux上配置Nginx+PHP5(FastCGI)
- News in PHP5.3
- HTML 5 令人期待的 5 项功能
- 浏览器的结构
- 用C/C++扩展你的PHP
- Opcodes list
- 图解aclocal、autoconf、automake、autoheader、configure
- Apache主导全美100大网站
- Zend Engine幻想
- 关于调用约定(cdecl、fastcall、stcall、thiscall) 的一点知识
随笔
- GPT-6 Astra 做实景三维重建,我拿一套住宅试了试
- Reconstructing a Real Apartment with GPT-6 Astra
- Wechatian: Let Your AI Reach You on WeChat
- Wechatian: 让AI有事就来微信找你
- 用Obsidian+Claudian+Ds搭建个人AI助理
- Building a Personal AI Assistant with Obsidian + Claudian + DeepSeek
- Named Parameters in PHP 8.0
- PHP8.0的Named Parameter
- On PHP, and on Realsee
- 关于PHP,关于Realsee
- New in PHP 8: the match Expression
- PHP8新特性之match表达式
- A Confusing if-else Question
- 一个关于if else容易迷惑的问题
- 使用SSE2指令高效实现strtolower
- An Efficient strtolower with SSE2
- PHP 8新特性之Attributes(注解)
- New in PHP 8: Attributes (Annotations)
- 使用OSC52实现iTerm2远程pbcopy
- Remote pbcopy for iTerm2 using OSC 52
- Yac 2.1 升级说明
- Yac 2.1 Upgrade Notes
- Yaf-3.1 10%性能提升版
- Yaf 3.1: A 10% Performance Boost
- Yaconf-1.1 40%速度提升版
- Yaconf 1.1 — the 40% faster release
- 使用SSE2指令集加速字符替换
- Accelerating character replacement with the SSE2 instruction set
- Yaf_Loader refactor benchmark
- Yaf_Loader重构测试
- PHP_INT_MIN and -9223372036854775808
- PHP_INT_MIN 和 -9223372036854775808
- What does var_dump(1...9) output?
- var_dump(1...9)输出什么?
- 使用内存硬盘(tmpfs)来加速你的网站
- Speed up your website with a memory disk (tmpfs)
- 博客迁移到腾讯云
- Migrating the Blog to Tencent Cloud
- print is not a function
- print不是函数
- The Confusing strtotime
- 令人困惑的strtotime
- PHP的性能演进(从PHP5.0到PHP7.1的性能全评测)
- The HTTPOXY Vulnerability, Explained from PHP's Side
- HTTPOXY漏洞说明
- Five Tips to Get the Most Performance Out of PHP 7
- 让PHP7达到最高性能的几个Tips
- 写在PHP7发布之际的一些话
- Some Words on the Release of PHP 7
- 让你的PHP7更快之Hugepage
- Making Your PHP 7 Faster, Part 1: HugePages
- 让你的PHP7更快(GCC PGO)
- Making Your PHP 7 Faster (GCC PGO)
- Yaconf - 一个高性能的配置管理扩展
- Yaconf — A High-Performance Configuration Management Extension
- 在PHP中使用协程实现多任务调度
- 记录一场没有胜利的局部战斗
- A Battle Without a Victory: Chasing a glibc freeres Bug
- 在Qcon 2015 北京上的演讲PPT - PHP7
- My QCon 2015 Beijing Slides — PHP 7
- 一个程序员眼中的价值
- Value, in a Programmer's Eyes
- GCC优化引起的一个"问题"
- A "Problem" Caused by GCC Optimization
- A Quick Share on Zend O+
- 一个关于Zend O+的小分享
- Weibo LAMP Evolution — Slides from My June Talk in Shanghai
- Weibo LAMP演变 - 6月在上海分享的PPT
- An Answer to a Common PHP Floating-Point Question
- PHP浮点数的一个常见问题的解答
- One Reason Why Mcrypt Can Be Slow
- Mcrypt响应慢的一个原因
- Yaf and Phalcon, Which Is Faster?
- Yaf and Phalcon, which is faster?
- Once Again, Don't Use (include/require)_once
- 再一次, 不要使用(include/require)_once
- Some Notes on Yaf
- 关于Yaf的一些说明
- PHP 5.5 May Introduce Generators
- PHP5.5或将引入Generators
- 关于语言的选择-选易用的
- On Language Choice — Pick the One That's Easy to Use
- 请手动释放你的资源(Please release resources manually)
- Please Release Your Resources Manually
- Yaf的一些资源
- Some Yaf Resources
- 如何为PHP贡献代码
- How to Contribute Code to PHP
- PHP对程序员的要求更高
- PHP Demands More from the Programmer
- 我们什么时候应该使用异常?
- When Should We Use Exceptions?
- 大家新年好~
- PHP的历史
- The History of PHP
- How to Set Up a Strictly 30-Minute Expiring Session
- 如何设置一个严格30分钟过期的Session
- 2012年1月全球www网站技术报告
- PHP数组的Hash冲突实例
- A PHP Array Hash-Collision Example
- Yaf的性能对比测试
- 上传进度支持(Upload progress in sessions)
- Upload Progress Support (Upload Progress in Sessions)
- Array Dereferencing
- Array dereferencing
- Introducing the mysqlnd_ms Plugin
- mysqlnd插件mysqlnd_ms的介绍
- 和一朋友对话有感
- PHP的版本发布历程
- 关于做PHP扩展开发的一些资源
- Some Resources for PHP Extension Development
- 分享个开心的事情
- Plua进入Pecl
- Zend引擎的优化
- Optimizations in the Zend Engine (PHP 5.4)
- PHP5.4的新特性
- New Features in PHP 5.4
- Yaf已提交到PECL
- 在中国PHP技术高峰论坛(2011)上演讲的PPT
- PHP Performance Optimization
- PHP Performance Optimization
- Some PHP Coding Tips [last updated 2011-04-02]
- 一些PHP Coding Tips[2011/04/02最后更新]
- The Leftover Problem with a Serializable Singleton — Answer
- 可序列化单例模式的遗留问题答案
- Serialize/Unserialize Breaks the Singleton
- Serialize/Unserialize破坏单例
- Using HTTP 204 and 205
- HTTP 204和205的应用
- Expect:100-continue
- Expect: 100-continue
- PHP是无辜的
- PHP is Innocent
- [转载]技术文化和惨淡命运 —— 怀念中国雅虎
- AllowEncodedSlashes in Apache
- Yaf — A PHP Framework Implemented as a PHP Extension
- Yaf-一个PHP扩展实现的PHP框架
- 将PHP Manual融入(g)Vim
- 注意PHP对字符串的递增运算
- 终于搞定了IE6下的显示
- shell下发推脚本
- 使用PHP_UML生成代码的UML图
- Le Putty - Putty with Zmodem
- pkg-config与LD_LIBRARY_PATH
- Youtube解封啦!
- 朋友们,新年好.
- 服务器搬到国外主机
- 分割GBK中文遭遇乱码的解决
- 纯属娱乐(彩蛋)
- 字符编码详解(基础)
- PHP中的Hash算法
- The Hash Algorithm in PHP
- 思考能力何其重要..
- 关于事件模拟
- 东方时尚约车脚本(greaseMoney)
- 最近发生了一些很重要的事情
- 谈谈用户可预感体验
- 看"付钱Google中国也不会增加搜索结果"
- 一个巧妙的分页方法
- 引用外部JS文件的编码问题
- 百度招聘-系统平台研发(实习)工程师
- Thanksgiving
- HTTP1.0下HTTP_HOST为空
- 通过访客分布看中国IT业的发展
- Apache主导全美100大网站
- Firefox DNS Cache 清除 扩展 V0.1
- PHP的老式语法
- 个人主页开张
- 关于JavaScript的执行域,标识符解析,闭包的研究
- PHP Pallas CMS源码公布
- Dom事件的srcTarget,strElement探幽
- MySQL也真是让人郁闷(关于子查询中使用limit)
- IE下的Javascript调试利器:Companion.js
- 在Gvim中使用和Vim一样的配色方案
- 关于调用约定(cdecl、fastcall、stcall、thiscall) 的一点知识
- Perl的特别之处
- 授人渔而非鱼