PHP London Conference

An excellent bash with a very nice venue. I’ve been to several PHPLondon gatherings and it was great to see it all come together. The ‘meet the speakers’ do the previous evening went very well – I had a good chat with Harry Fuecks.
The speakers were pretty good. Pawel’s Dependency Injection was probably the most underpresented, but had the best content, and had similarities to a talk given by Marcus Baker last year.
Matt Zandstra presented his template path pattern well, but I was left with the feeling that it was way too specific to be of much general use.
PHPLondon are a very comfortable bunch to be with!

Error-free PHP

Not nearly as good as it sounds. I’ve become plagued by a very irritating problem over the last couple of weeks – I’m getting no error output from PHP whatsoever, neither to the browser nor to logs, even though all such options are enabled. My config files are as stock as they can be and still work. It’s just making debugging nearly impossible. I’m getting the same symptoms on OS X and RedHat EL4, so it’s not a platform-dependent thing. They are also on different versions of Apache (2.0.54-12 from Fink and 2.0.52 from RHN). Grrr.

I found it!! Really silly issue and it explains everything. There was a .htaccess file containing an old line:

php_value display_errors true

It appears that (unlike in the rest of PHP) ‘true’ is interpreted as boolean false in this context. Commenting it out or setting it to 1 makes it work.

PHP register_long_arrays session breakage

Strange behaviour that’s taken me ages to track down. I had the situation where I could create a session, but any changes to it were not saved. session_write_close() didn’t help. Eventually I tracked it down: if you have register_long_arrays disabled (as is the default in PHP5), this can happen. Enabling it fixed the problem. A very simple test case didn’t show this problem, so I guess something in my sessions has a dependency on HTTP_GET_VARS or similar, though these vars do not appear anywhere in my code…

Someone pointed me at this bug report which seems very similar to what I’m seeing. Still no solution though.