To investigate the change to the interpreter
Every noun that I type starting with a dollar sign, is a representation of a variable. I could make guesses but this is likely to make the analysis more complex. When I write "$afile", type one of the filenames in, from the previous listing.
login to your server (i am assuming SSH to a Unix box)
cd $whatever_your_doc_root_is
find . -name '*.php'
# this should give you a biiiiig list of files
php -l $afile
# should report any errors
The interesting errors don't have a line number or file name on them, and say "missing extension $blah" or similar.
# edit the file you just compiled to have the following at the top
# this is untested, but looks correct...
error_reporting(-1);
# bool handler ( int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]] )
function h1($errno, $errstr, $errfile, $errline) {
echo("$errfile#$errline: [$errno]$errstr\n");
return true;
}
set_error_handler('h1');
then run individual files that don't alter the database or whatever.
To compile ALL the source
for x in `find . -name '*.php' ` do php -l $x; done
...This should run quite fast