ulimit and PHP: When the OS Says No

ulimit and PHP: When the OS Says No

ulimit and PHP: When the OS Says No You set memory_limit and max_execution_time in php.ini and feel in control. You are, in fact, but you are also not the only one in control. Underneath PHP, the kernel keeps its own ledger of what a process is allowed to do, and it does not negotiate. That […]

Four ways to count to four: PHP strings, iconv, mbstring and grapheme

Four ways to count to four: PHP strings, iconv, mbstring and grapheme

Four ways to count to four: PHP strings, iconv, mbstring and grapheme Nothing like starting the day with a nice café, in a Parisian café, pun intended. Now, when you ask PHP how long the word “Café” is, you get four answers from four families of functions. Two of them agree, one says 5, and […]

Lazy class constants in PHP

Lazy class constants in PHP

Lazy class constants in PHP: fast by design, sometimes surprising PHP has class constant, which are named literals. It also supports static constant expressions, where the value is not always a literal. Rather, it’s an expression that PHP doesn’t evaluate immediately. PHP evaluates it the first time the code needs it. This is the concept […]

Recently updated PIE extensions #7 (since September 10th, 2026)

Recently updated PIE extensions #8

Recently updated PIE extensions #7 (since September 10th, 2026) 28 PHP Pie extensions were updated. flow-php/arrow-ext (0.44.1): Apache Arrow PHP extension powered by Rust phpolygon/php-vio (2.25.4): PHP extension for GPU rendering (OpenGL, Vulkan, Metal), audio, video recording, streaming, and input flow-php/flow-php-ext (0.44.1): Flow PHP native extension (Rust) – Floe frame-body encoder/decoder for DataFrame Rows xberg-io/tree-sitter-language-pack […]

RisingWave, PHP, and the Streaming Database Idea

RisingWave, PHP, and the Streaming Database Idea

RisingWave, PHP, and the Streaming Database Idea A regular database answers the question you ask it, once, against whatever state happens to be sitting on disk at that moment. If the data changes a second later, your answer is stale until you ask again. This is why dashboards poll, and why “real-time analytics” has historically […]

When PHP Reads Something Else: Visual Traps in Source Code

When PHP Reads Something Else: Visual Traps in Source Code

When PHP Reads Something Else: Visual Traps in Source Code PHP code is read by two very different audiences: human developers and the PHP parser. Humans read glyphs, the shapes our eyes recognise. The parser reads bytes or characters, raw octets encoded in a file. Most of the time these two views agree perfectly. Sometimes […]

Recently updated PIE extensions #6

Recently updated PIE extensions #8

Recently updated PIE extensions #6 (since September 3rd, 2026) 33 PHP Pie extensions were updated. intermaterium/duckeh (0.7.3): PHP extension for DuckDB iliaal/mdparser (0.6.1): Native C CommonMark + GitHub Flavored Markdown parser for PHP, targeting CommonMark 0.31 + GFM. ~10-20x faster than pure-PHP parsers, zero runtime dependencies. phpolygon/php-vio (2.11.0): PHP extension for GPU rendering (OpenGL, Vulkan, […]

PHP-Powered Government Websites by Country

PHP-Powered Government Websites by Country

PHP-Powered Government Websites by Country After reading the Digital Sovereignty Is Written in PHP, I became curious where in the world is PHP used in the governement. Governments may be large or small, and it may have several departements, ministries, cabinets or even local administrations with competing technologies. For this page, I only collected at […]

Recently updated PIE extensions #5 (since August 27th, 2026)

Recently updated PIE extensions #8

Recently updated PIE extensions #5 (since August 27th, 2026) 27 PHP Pie extensions were updated. iliaal/mdparser (0.6.0): Native C CommonMark + GitHub Flavored Markdown parser for PHP, targeting CommonMark 0.31 + GFM. ~10-20x faster than pure-PHP parsers, zero runtime dependencies. iliaal/php-excel (2.7.0): PHP extension for reading and writing Excel files using LibXL mongodb/mongodb-extension (2.5.0): MongoDB […]

Tree-sitter and PHP: Two Directions, Endless Possibilities

Tree-sitter and PHP: Two Directions, Endless Possibilities

Tree-sitter and PHP: Two Directions, Endless Possibilities Tree-sitter is a very popular library in the computer ecosystem at large. It powers syntax highlighting in Neovim, structural search in VS Code, and a growing wave of static analysis tools, including in PHP environment. What makes it compelling is a combination of properties rarely found together: a […]

TypePHP, native PHP, NativePHP: the ecosystem has a vocabulary problem

TypePHP, native PHP, NativePHP: the ecosystem has a vocabulary problem

TypePHP, native PHP, NativePHP: the ecosystem has a vocabulary problem PHP names things by accretion. A word gets used for something, then reused for something adjacent, then reused again by a project that picked the name because it was available on Packagist. Nobody arbitrates. Ten years later you have a conference hallway conversation where two […]