Matthew's blog

PHP Timeout on Windows/IIS

Have you ever run a PHP utility script on a Windows/IIS platform and had it unexpectedly timeout? Your IIS settings for script timeouts might be conflicting with your PHP settings.

Let's say your script is querying a remote, third-party web service for share data on 3000 articles on your site, and for whatever reason, the web service only allows you to query share data for one URL at a time. This could take a while. So on your Windows/IIS server, you set up a scheduled task to run at 1:00 am to retrieve all this data and put in your database for convenient access.

A State Machine With an Unknown Outcome

Recently, I was tasked with creating an event registration process for an existing Drupal site. This project would move the user through a number of possible paths to the final outcome of registering (or not registering), so building it as a finite state machine (using the state design pattern) seemed a good fit and would provide a flexible, easily modified, object-oriented structure for event registration.

Drupal tightens up node_load()

The other day we had an error on our Drupal 7 site where users would receive error messages whenever they tried to register for a conference. The site would register them, but the only thing the user would see is a JavaScript dialog box with an AJAX callback error message with some code in it; since the users didn't know that the site had registered them, they kept clicking the register button, getting registered multiple times. Not a desirable state of affairs.