I have a problem where the diffs on a MediaWiki that I'm responsible for are always empty.
$wgExternalDiffEngine is not set in my LocalSettings.php, so it should be defaulting to false, which is "wikidiff2 if available, PHP implementation else."
However, wikidiff2 does appear to be available. The contents of /etc/php5/mods-available/wikidiff2.ini are:
extension=wikidiff2.so
and wikidiff2.so exists in /usr/lib/php5/20121212.
If I go to Special:Version, under "Installed extensions", there is "Wikidiff2 (Version )". So that suggests that it is installed, but somehow isn't working, since it can't even identify what version it is.
I enabled logging and then looked in the log file and saw:
wfShellExec: 'wikidiff2' '/home/web/wikidata/upload/tmp/diff_f9tuWC' '/home/web/wikidata/upload/tmp/diff_TsMWXK'
Possibly missing executable file: 'wikidiff2' '/home/web/wikidata/upload/tmp/diff_f9tuWC' '/home/web/wikidata/upload/tmp/diff_TsMWXK'
That suggests that somehow it is trying to run an executable named wikidiff2, rather than using the wikidiff2.so extension. Why?
I just inherited this responsibility recently, so unfortunately I don't know how the server got into the state it is currently in. Any ideas what might be going on, and how I can fix it?