Bug found – PHP 5.3.x incompatibility

The problem which I suspected was due to a plugin conflict turns out to be a PHP 5.3.x incompatibility.  I don’t have a solution yet because I don’t fully understand what changed but I am working on it.  There is no potential of database corruption, the bug simply fails to load the GUI on any of the Swim Team pages except the Overview page.  This bug only affects sites running on PHP5.3.x, sites running on PHP 5.2.x or PHP 4.4.x are not affected and will operate correctly.

UPDATE

I have identified and fixed the problem.  There is a change in PHP 5.3 which affects how objects of a child class can call methods in the parent class.  The syntax which has worked fine until PHP 5.3 occurs in both the wp-SwimTeam plugin and in the phpHtmlLib plugin so both will need to be updated.  I have found several places where the code needs to be updated to the new syntax requirements but still need to do further testing to make sure I have found them all.

Back in the saddle

Last night I got my wp-SwimTeam development environment back up and running.  Since I last worked on the plugin I have gotten a new computer (Dell E4300) and changed how I was using VMware Workstation to manage the various things I am working on.

Because my computer actually belongs to my employer, I keep my hobby projects running under virtual machines (which I also use for a number of things at work which is why I have VMware).  I used to have a separate VM for each project but they tend to consume a lot of disk space so I have moved to using SnapShots (see page 189 of the VMware Workstation Users Guide) and they are really working well.

I had migrated all of my projects over to my new VM with various SnapShot configurations (PHP4, MySQL 4, PHP5, MySQL 5, etc.) with the exception of two – my wp-SwimTeam development and the MacDolphins web site development (which I still need to do).

Once I got it all moved I needed to figure out where I left off.  I still had a few files uncommitted so I simply committed them and started running the plugin through its paces.  I found a few issues right away (e.g. I removed the ability to add a new swimmer – oops) but that was quickly fixed.  Starting with an empty database turned out to a good idea as it exposed a couple mistakes, one of which I am still chasing – the roster isn’t showing everything it should and I am not sure why.

I fixed a few other odds and ends and now that WordPress 2.7 is released, I know for sure how the plugin behaves with the new Dashboard.  It isn’t too bad but I definitely will create a new top level menu with an icon.  This will almost certainly mean that 2.7 will be required to use the plugin.  The 2.7 Dashboard also changes the background on the #wrap DIV from white (#ffffff) to a very light grey (#f9f9f9).  To integrated the ActiveTab widget properly, this color change needs to be accounted for so I am opting to do it in the 2.7 color.

GoDaddy’s PHP support is questionable

Over the past few days I have had a back and forth e-mail dialog with GoDaddy Support regarding their PHP support (or lack there of).  Some of their responses are just silly.  Since they don’t support allow_url_fopen, I wanted to use cURL.  Well, apparently cURL isn’t supported with their Windows hosting service and even with that, requires a proxy configuration.  So then I decided to use fsockopen() since GoDaddy states it is supported for all PHP hosting plans.

Well fsockopen() times out when I try using it.  I got the following from GoDaddy support:

Dear Mike,

We apologize for the confusion.  While fsockopen() is supported you would need to be on an account that fully supports PHP.  You would need to switch to a Linux Hosting account.  If you do not wish to switch to a Linux Server, you would need to use custom coding.  Unfortunately, we do not provide coding or scripting support through this forum. I recommend performing a search on a search engine. I apologize for any inconvenience this may cause.

Please let us know if we can assist you in any other way.

Sincerely,
 
John B.
Online Support
Technician 

What kind of nonsense is this?  No where is it stated that it isn’t supported.  So respond to them and ask for a list of what is and isn’t supported with respect to running PHP under Windows.  This is what I got back in response – it is just nonsense – it points to me to a Linux configuration, how helpful is that?  Not only does it point to the wrong platform, but what it reports would indicate that what I want to do is supported!

Dear Mike,

As our Windows IIS 7 plans support PHP 5.2.5, please refer to the following link for a full list of supported PHP options:

•  http://gilahacker.com/info.php5

Please let us know if you have any further questions, comments, or concerns. Our service departments and telephone lines are open 24 hours a day, 365 days a year to accommodate your needs anytime.

You can reach us by phone to the following numbers:
(480) 505-8877 Technical Support, Sales and Service
(480) 505-8855 Billing

Or, you can send an email for speedy electronic service to the following address:
support@supportwebsite.com – Technical Support, Sales and Service

We look forward to serving you in the future.

Please let us know if we can help in any other way.

Regards,
Stacey P.
Online Support

It makes one wonder if their support people actualy read what is sent to them. So I responde back to them pointing out that their response was not very helpful and ask my question again as well as another request for what is and isn’t supported with PHP running under Windows.

My most recent response was a request for a code sample to see what isn’t working, hopefully this will resolve the issue once and for all, stay tuned!  The response also included a statement that they, GoDaddy, don’t have a document which articulates the differences between PHP support running under Windows and PHP support under Linux.

Dear Mike,

We apologize for any inconvenience this may have caused you. Currently fsockopen() is supported on your hosting account. Please send us the full URL of a page we can duplicate the error you are having so that we can troubleshoot this error. Unfortunately, we do not provide technical support with third-party scripting issues. However if the issue is being caused by a misconfiguration on our server we would be happy to resolve this for you.

Unfortunately we do not have any documentation available that will show you the difference in the php configuration between out Linux and Windows accounts. We apologize for any inconvenience this may have caused you.

Please let us know if we can help you in any other way.

Sincerely,
Jeremy T
Online Support Technician