У меня есть проблема, когда различия в MediaWiki, за которые я отвечаю , всегда пусты.
$wgExternalDiffEngine
не задан в моем LocalSettings.php
, поэтому его значение по умолчанию должно быть равно false
, то есть «wikidiff2, если доступно, реализация PHP в другом».
Однако wikidiff2
действительно кажется доступны. Содержимое /etc/php5/mods-available/wikidiff2.ini
:
extension=wikidiff2.so
и wikidiff2.so
существует в /usr/lib/php5/20121212
.
Если я захожу в Special:Version
, в разделе "Установленные расширения" есть «Wikidiff2 (Version)». Это говорит о том, что он установлен, но почему-то не работает, поскольку не может даже определить, какая это версия.
Я включил ведение журнала, а затем заглянул в файл журнала и увидел:
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'
Это говорит о том, что каким-то образом он пытается запустить исполняемый файл с именем wikidiff2
, а не с помощью расширения wikidiff2.so
. Зачем?
Я только что унаследовал эту ответственность недавно, поэтому, к сожалению, я не знаю, как сервер перешел в состояние, в котором он находится в данный момент. Есть идеи, что может происходить, и как я могу это исправить?