Компонент MediaWiki VisualEditor Parsoid не работает после переключения php7.0 на php5.7
Я хотел бы попросить вас о помощи с:
Поскольку форум CMS phpBB в настоящее время не поддерживает>= php7.0, мне пришлось переключиться на php5.6 на моем сервере Ubuntu16.04 LTS. Установленные файлы php5.6 из ppa:ondrej/php и:
sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart
sudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php
... я перешел на php5.6.
К сожалению, это привело к тому, что VisualEditor моего MediaWiki перестал работать. Я перевел плагин MediaWiki на сервер parsoid, прежде чем переключать php, и все работало, как и ожидалось. Кроме того, когда я вернулся к php7.0 с помощью:
sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart
sudo ln -sfn /usr/bin/php7.0 /etc/alternatives/php
... Вики снова работает нормально, однако сообщения с такими функциями phpBB, как phpBBCodes и теги, не отправляются. Ну, версия php7.0 не поддерживается, поэтому я не могу пожаловаться, поэтому я пытаюсь заставить Parsoid работать с php5.6 (что должно поддерживаться).
Ошибка отображается, когда:
- щелкнув вкладку "Редактировать", которая должна вызвать VisualEditor: VisualEditor "Редактировать" - ошибка 500
- нажатие кнопки "Сохранить" при создании новой вики-страницы с помощью VisualEditor: VisualEditor "Сохранить" - неизвестная ошибка
Другие ошибки (возможные):
- Я получил вышеупомянутые ошибки при первоначальной настройке VisualEditor с Parsoind на моем сервере. Я решил их, установив и настроив расширение:NetworkAuth на MediaWiki. Когда я получал 500 (тогда на php7.0), прежде чем я заработал, я получал это предупреждение в журнале parsoid:
[warning]
[{MY_PARSOID_CONF_PREFIX}/Hlavná_stránka] non-200 response: 401 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Unauthorized</title>
</head><body>
<h1>Unauthorized</h1>
<p>This server could not verify that you
are authorized to access the document
requested. Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
<hr>
<address>Apache/2.4.18 (Ubuntu) Server at beta.abs4data.com Port 443</address>
</body></html>
... однако, теперь я не получаю никаких предупреждений в журнале! Даже при выполнении " статуса парсоида службы sudo " он показывает "/bin/sh -c /usr/bin/nodejs /usr/lib/parsoid/src/bin/server.js -c /etc/mediawiki/parsoid/server.js -c /etc/mediawiki/parsoid/settings.js >> /var/log/parsoid/parsoid.log 2>&1", что, как я надеюсь, означает, что в журнал выводятся измерения ошибок.
Я старался:
- перезапуск службы parsoid -> все прошло нормально, без ошибок и предупреждений
- перезапуск службы apache2 -> все прошло нормально, ошибок и предупреждений нет
- перезагрузка сервера Ubuntu -> не помогло
- получение панели мониторинга сервера parsoid с помощью: " curl -L {address of my vebsite}: 8142 " -> получение правильного файла -> parsoid работает
- получение php-файла API MediaWiki: " curl -L {адрес моего веб-сайта}.api.php " -> восстановление нужного файла -> API MediaWiki доступен для сервера
- как описано в MediaWiki Parsoid/ Устранение неполадок, я попытался вручную передать текст MediaWiki в Parsoid с помощью " curl -L " и получить HTML. Это работало как ожидалось, и я получил HTML-код.
Возможная причина:
- Я думаю, что VisualEditor не соединяется с приложением сервера Parsoid на моем сервере. Оба, кажется, работают хорошо, а также настроены хорошо. Однако после изменения версии php они перестали коминицировать. Итак, я думаю, что Parsoid или VisualEditor каким-то образом привязаны к использованию php7.0, который теперь отключен, и создание ссылки sym с помощью ln -sfn неправильно указало VisualEditor / Parsoid на использование php5.6.
Как вы думаете? Любое предложение, как решить или продолжить тестирование этой проблемы?
PS Извините за плохо отформатированный код, о котором идет речь, но он как-то сломался... кажется, я проблема в конце концов:-D
1 ответ
Кажется, я нашел решение:
После установки дополнительных пакетов php5.6 проблема была решена:
sudo apt-get install libxmlrpc-epi0 php5.6-curl php5.6-gd php5.6-mcrypt php5.6-xmlrpc
Я бы сказал, что проблема в пропаже php5.6-curl
пакет. Я думаю, когда я проверил функциональность Parsoid, выполнив curl -L http://my.website.com:8142
а также curl -L http://my.website.com/wiki/api.php
На самом деле я использовал php7.0 или другой локон, который не был доступен для приложения сервера Parsoid (теперь работает с php5.6), поэтому оно не может получить файлы, необходимые для выполнения задачи.
Комментарии к проблеме все еще приветствуются.