Когда я вызываю этот URL: https://MyMediawikiDoma.in/index.php?title=MyArticle&type=revision&diff=3441&oldid=3424
Сбой Apache2 с этим следом:
(gdb) where
#0 0x00007fe6039edc8a in ?? () from target:/usr/lib/apache2/modules/libphp7.2.so
#1 0x00007fe6039ee6eb in ?? () from target:/usr/lib/apache2/modules/libphp7.2.so
#2 0x00007fe6039eea96 in zend_parse_parameters () from target:/usr/lib/apache2/modules/libphp7.2.so
#3 0x00007fe5f1bdf268 in zif_wikidiff2_do_diff(_zend_execute_data*, _zval_struct*) () from target:/usr/lib/php/20170718/wikidiff2.so
#4 0x00007fe603a8f3fb in execute_ex () from target:/usr/lib/apache2/modules/libphp7.2.so
#5 0x00007fe603a97267 in zend_execute () from target:/usr/lib/apache2/modules/libphp7.2.so
#6 0x00007fe6039e59f2 in zend_execute_scripts () from target:/usr/lib/apache2/modules/libphp7.2.so
#7 0x00007fe603981450 in php_execute_script () from target:/usr/lib/apache2/modules/libphp7.2.so
#8 0x00007fe603a99422 in ?? () from target:/usr/lib/apache2/modules/libphp7.2.so
#9 0x000055906ce68cc0 in ap_run_handler ()
#10 0x000055906ce6923d in ap_invoke_handler ()
#11 0x000055906ce80c7b in ap_process_async_request ()
#12 0x000055906ce80e50 in ap_process_request ()
#13 0x000055906ce7d21d in ?? ()
#14 0x000055906ce72ad0 in ap_run_process_connection ()
#15 0x00007fe604004831 in ?? () from target:/usr/lib/apache2/modules/mod_mpm_prefork.so
#16 0x00007fe604004b34 in ?? () from target:/usr/lib/apache2/modules/mod_mpm_prefork.so
#17 0x00007fe60400557e in ?? () from target:/usr/lib/apache2/modules/mod_mpm_prefork.so
#18 0x000055906ce4c28e in ap_run_mpm ()
#19 0x000055906ce44b2b in main ()
Сервер работает под управлением Ubuntu 18.04 и Mediawiki из https://launchpad.net/~legoktm/+archive/ubuntu/mediawiki-lts/
Что я могу сделать, чтобы решить эту проблему?
Я удалил wikidiff2
с участием apt remove php-wikidiff2
. Теперь он хорошо работает на внутреннем движке PHP.
Я также открыл отчет об ошибке в проекте wikidiff2: https://phabricator.wikimedia.org/T240620
Я бы попробовал разные подходы, например:
Не развертывайте такие приложения, как MediaWiki и другие веб-приложения из пакетов dpkg. Вместо этого используйте их официальные пакеты. Обычно они делают архивы доступными. Преимущество этого подхода в том, что у вас не возникнет проблем с зависимостями, и вы сможете запустить его, например, на Nginx и PHP-FPM;
Используйте Docker и образ Docker от MediaWiki.
С уважением.