При попытке обновления до версии 8.4.4 вот такая ошибка выскочила. Что это может быть , знает кто? Заранее спасибо.
Возникла AJAX HTTP ошибка.
Полученный код HTTP: 500
Следует отладочная информация.
Путь: /update.php/start?id=2809&op=do_nojs&op=do
Текст Состояния: Internal Server Error
Текст Ответа:
Комментарии
Надо посмотреть в лог ошибок сервера.
Fatal error: Interface 'CommerceGuys\Intl\Currency\CurrencyInterface' not found in /var/www/u0109373/data/www/site.ru/modules/contrib/commerce/modules/price/src/Entity/CurrencyInterface.php on line 16
указанная ошибка возникает при обновлении бд.
После того, как она возникает я через composer обновляю коммерц командой:
/opt/php/5.6/bin/php composer/composer.phar require drupal/commerce
Далее иду на страничку с неудавшимся обновлением, обновляю и вроде бы все начинает обновляться, но на определенном этапе возникает уже другая ошибка:
Возникла AJAX HTTP ошибка.
Полученный код HTTP: 200
Следует отладочная информация.
Путь: /update.php/start?id=2809&op=do_nojs&op=do
Текст Состояния: OK
Текст Ответа:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16229 bytes) in /var/www/u0109373/data/www/site.ru/core/lib/Drupal/Core/Database/Statement.php on line 59
У Вас ограничение memory_limit ~ 128Mb ему не хватает для обновления
увеличив память, установка дошла до конца, но появилась другая ошибка: На сайте произошла непредвиденная ошибка. Пожалуйста, повторите попытку позже.
При чем она скорее всего проявляется из под авторизованного пользователя. Т.е. в том браузере после обновления, в котором обновлялся. Если зайти на сайт в другом браузере или в режиме инкогнито, то ошибки нет и пишет, что сайт в режиме обслуживания.
Лог ошибки
[pid 3561] write(5, "\1\7\0\1\2\345\3\0Uncaught PHP Exception Drupal\\Core\\Database\\DatabaseExceptionWrapper: \"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'revision.revision_user' in 'field list': SELECT revision.revision_id AS revision_id, revision.langcode AS langcode, revision.revision_user AS revision_user, revision.revision_created AS revision_created, revision.revision_log AS revision_log, base.id AS id, base.type AS type, base.uuid AS uuid, CASE base.revision_id WHEN revision.revision_id THEN 1 ELSE 0 END AS isDefaultRevision\nFROM \n{block_content} base\nINNER JOIN {block_content_revision} revision ON revision.revision_id = base.revision_id; Array\n(\n)\n\" at /var/www/u0109373/data/www/site.ru/core/lib/Drupal/Core/Database/Connection.php line 686\n\0\0\0\1\6\0\1\2\37\1\0Status: 500 500 Service unavailable (with message)\r\nX-Powered-By: PHP/5.6.30\r\nContent-Type: text/plain; charset=UTF-8\r\nCache-Control: must-revalidate, no-cache, private\r\nDate: Mon, 22 Jan 2018 17:45:01 GMT\r\nX-UA-Compatible: IE=edge\r\nContent-language: ru\r\nX-Content"..., 1320) = 1320
Первая ссылка в гугле: https://www.drupal.org/project/drupal/issues/2865702
Там хоть и та же ошибка, но другая совсем причина...
Там правильный совет пнуть обновление бд, он должен помочь. Если нет - ну никто не мешает руками добавить эту колонку и посмотреть на результат.
И кроме памяти ещё увеличить время выполнения скриптов.
На будущее, рекомендую использовать для обновления консоль, а не веб интерфейс, если это возможно: при запуске скрипта из консоли, нет таких ограничений памяти процесса, и времени выполнения.
Попробуйте
drush up drupal
при обновлении через drush в консоли следущее:
unlink(/var/www/u0109373/data/www/site.ru/autoload.php): [warning]
No such file or directory filesystem.inc:141
Project drupal was updated successfully. Installed version is now 8.4.4.
Backups were saved into the directory [ok]
/var/www/u0109373/data/drush-backups/u0109373_cashmere1/20180124160919/drupal.
Command updatedb needs a higher bootstrap level to run - you will [error]
need to invoke drush from a more functional Drupal environment to run
this command.
The drush command 'updatedb' could not be executed. [error]
Fatal error: Call to undefined method Symfony\Component\HttpKernel\Event\PostResponseEvent::setDispatcher() in
/var/www/u0109373/data/www/site.ru/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php
on line 94
Drush command terminated abnormally due to an unrecoverable error. [error]
Error: Call to undefined method
Symfony\Component\HttpKernel\Event\PostResponseEvent::setDispatcher()
in
/var/www/u0109373/data/www/site.ru/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php,
line 94
Сайт при этом при загрузке такие ошибки показывает:
Warning: require_once(autoload.php): failed to open stream: No such file or directory in
/var/www/u0109373/data/www/site.ru/index.php on line 14
Fatal error: require_once(): Failed opening required 'autoload.php' (include_path='.:') in
/var/www/u0109373/data/www/site.ru/index.php on line 14
Что говорит? drush --version
8.1.15
Судя по сообщениям при обновлении чего не хватило и ап не развернулся, файлы побиты, проверить место, развернуть заново.
Побиты файлы драш или друпал?
Если поможет, то давно ещё у меня на этом же сайте была тоже ошибка при обновлении ядра. Как выяснилось из за того, что ставил adress не через composer. Вылечилась как ошибка выскочила при обновлении командой
composer require drupal/commerce
копосер требовалмся в ранних d8 сейчас drush сам все делает если ему хвататает место, еще можно проверить целосность остального через composer update
А мог я как то не так драш установить? я просто только только с ним познакомился!
Наврядли
composer update не помогло((
Решил проблему так, может кому пригодится:
1. по ftp залил свежий друпал
2. до запуска site.ru/update.php в компосере выполнил команды последовательно:
composer update --with-dependencies
composer require drupal/commerce
3. выполнил апдейт site.ru/update.php
и все обновилось нормально без ошибок.
может какая из команд компосера была не нужна из этих двух. не стал проверять.
Спасибо всем за помощь.