Where does PHP's "session side-effect" warning come from? This post reads php_session_save_current_state to explain the exact conditions under which bug_compat_42 and bug_compat_warn trigger it.
with 0 CommentWhy must Xdebug be loaded as a Zend extension, and how does a Zend extension differ from a regular PHP extension? This article traces the full extension loading path in PHP 5, from php_module_startup and php_init_config down to php_dl, showing where php extensions and zend extensions are registered and started.
with 0 CommentPHP is often a poor fit for a resident SHELL process. It has no dedicated GC routine, and no effective path to memory management. So if you use PHP as a resident SHELL, you'll often be unhappy when memory exhaustion aborts the process.
And if the incoming data is invalid while the SHELL doesn't check it, causing an abort, that will make you unhappy too.
So? What do we do?
Multiple processes....
Do you know how to write the fastest loop?
I just came across an interesting question on Xiaodong Guo's blog: " The difference between $i++ and ++$i in PHP ", and it was interesting enough that I wrote up an answer....
PHP keeps every variable in a symbol table: a global table for the top-level scope plus an active table created for each function call. This post walks through _zend_executor_globals to show how a variable name such as $var is mapped to its zval, and why a function's parameter ends up pointing at a reference instead of a plain copy.
with 0 Comment