У меня есть проблема, когда различия в 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 . Зачем?

Я только что унаследовал эту ответственность недавно, поэтому, к сожалению, я не знаю, как сервер перешел в состояние, в котором он находится в данный момент. Есть идеи, что может происходить, и как я могу это исправить?

1 ответ1

0

Я исправил это, добавив:

$wgExternalDiffEngine = false;

в LocalSettings.php . Это озадачивает меня, так как он не был установлен в LocalSettings.php , и по умолчанию предполагается false . Но я предполагаю, что это было установлено где-то еще?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .