Yesterday I faced with really weird issue with PHP’s session handling. At work we are hosting dozens of sites on our servers and suddenly on one server we were getting lot of weird out of space errors when PHP tried to open session files. Error message was “Warning Unknown: open(/path/to/sessions/sess_somehash, O_RDWR) failed: No space left on device (28)” . Because of those errors I was believing we were somehow running out of space on apache’s temp file partition. Truth was there was only few megabytes data, but the problem was that we had over 200 000 files on one folder and PHP got crazy of that.
I have recently read quite many posts about Drupal and how it sucks. For example Sean Coates has recently posted that he is looking replacement for Drupal.
There are many good arguments why Drupal sucks and I agree most of them. But my opinion is also that Drupal sucks less (of the CMS’s which I have tested). It has best combination of end user usability and developer extendibility.
When this conversation of which CMS to use is going on there will always pop up one opinion which is that you should build your own CMS. I think this quite bad opinion and I’m going to show this with one real life example.
PHP 5.3.1 was released yesterday with 146 issues fixed. Today I found Sean Kerner’s blog post about it (I think link was in Reddit). I have to say I agree his feelings:
My FileVault image got corrupted and I lost all my settings and few documents (most of them were backed up on server). Because I had to create my configures again I was thinking if it’s time to upgrade to Snow Leopard. With fresh install it is good time for rethinking your own workflow and setups. This was what I did after OS install.
First of all Apple has made great work with this new version of OS X. They have also remembered web developers because Snow Leopard has quite fresh versions of Apache, PHP and even Subversion. OS X comes also with BIND DNS server. Before image-file corruption I had over 100 different web development projects installed on laptop. That means I needed easy way to create and install new projects. This is where properly configured DNS server and dynamic virtual hosts comes handy. In this tutorial we do required steps to achieve mature and easy to use web development environment with dynamic virtual host support.