I've tried to upgrade from php 5.2 to php 5.3 on my testing machine, and there's a commercial package used, which is encoded, and I cannot change it at all. It should be working with PHP 5.3, except it has a lcfirst function declared, so I get an error PHP Fatal error: Cannot redeclare lcfirst(). Is there any way that I could somehow workaround this, so that I could run it on PHP 5.3? Or is the only option to compile PHP without this function.
I'm afraid not, you can't undeclare a function... they're going to have to change the name of their function.
As @Michael said, PHP 5.3 has been out for ages, seems a bit odd that they have hit this issue.