I’ve been working on installing PHP5 on client webservers the past couple of days, and with some help that’s been going all right. Much I’ve read has been on the merits of PHP5 vs PHP4, little have I read on user experience. So here’s my first experiences with PHP5 and commonly used PHP packages:
After having read many similar suggestions in the various discussion boards, I was left saddened. With the Segfaults, ok, PHP5 hasn’t matured enough yet, but from running a couple of hundred jails with PHP4 I know PHP4 segfaults regularly as well. Just not consistently. But obviously people don’t care to write the PHP-based software they distribute enough to keep up with the general guidelines posted by the PHP developers long ago, the reason that variables like $_GET such were introduced. And safe-mode seems to be a no-no. I guess I was to optimistic thinking the pass-by-reference as opposed to pass-by-value would be a little problem for some projects, it seems to be a common problem for many.
So, my task for now will be to move all our clients that want PHP5 back to PHP4 and say no, you can’t have the benefits of PHP5. And you’ll probably go coding something that won’t run PHP5 when finally we can switch to it.
PHP allows the use of the PCRE library, but PHP5 comes with an interesting, undocumented twitch: You have to add -with-pcre-regex if you want to use preg_match(), a quite commonly used function. With PHP4, all you did was -with-pcre and you got the whole package, and the -with-pcre-regex is undocumented in the configure program of PHP5 which is where people look for this.
The IE blog has an entryabout testing that I found quite nice to read. I’m very fond of tests
do you recognize this kind of ethernet traffic? This is the output (repeated over and over) from tcpdump
17:15:59.702633 01:80:c2:00:00:01 > 01:80:c2:00:00:01, ethertype Unknown (0x8808), length 60: 0x0000: 0001 ffff 0000 0000 0000 0000 0000 0000 ................ 0x0010: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............