23 03 2013
How to Fix vBulletin 4.x strict errors with PHP 5.4
I’ve been upgrading a large vbulletin 3.x site to 4.x. I like to do a dry run and make sure everything is working locally before doing the real upgrade in production.
Since I use PHP 5.4 for most things nowadays, it’s the only version I have in my development environment.
I found that vBulletin 4.x and PHP 5.4 don’t play well together initially. I was unable to even run the upgrade tool due to strict errors which caused the headers to be sent early.
vBulletin hard codes error reporting values in a lot of their scripts, here is a one liner to disable strict error reporting.
1 |
find . -type f -iname '*.php*' | xargs sed -i 's/E_ALL & ~E_NOTICE/& \& ~E_STRICT/g' |
Run this from the document root of your forum.
After this change, I found that vBulletin 4.x ran fine on 5.4 and was able to complete my testing. I recommend that you still run the forum on 5.3 in production though.
Steps to Take When you Know your PHP Site has been Hacked Your PHP Framework Choice doesn’t Matter
From the looks of vBulletin 4.2.2 progress, PHP 5.4 or might be initial 5.5 support will be available. So you can wait for while, if you want.
Just wanted to say thanks, this worked like a charm