Рейтинг:0

ведение журнала работает на локальном сайте, но не на удаленном сайте

флаг in

Недавно я перешел с Drupal 8 на 9. Работает нормально на моем локальном компьютере (MAMP на Mac), но не на удаленном (AWS Lightsail). Локальный — PHP 7.4.12, удаленный — PHP 7.4.2.

Я поместил всю кодовую базу в git и загрузил ее на свой удаленный сервер. Я создал settings.php для удалённого хоста, прописал trust_host_patterns, site.php, .htaccess. У меня была аналогичная установка для Drupal 8 на удаленном компьютере, которая работала безупречно.

Вот что я вижу в своем журнале ошибок apache, когда пытаюсь перейти на домашнюю страницу:

  1. AH01071: Ошибка 'Сообщение PHP: Drupal\Core\Database\DatabaseAccessDeniedException: SQLSTATE[HY000] [1045] Доступ запрещен для пользователя 'root'@'localhost'

Я установил правильный пользователь/пароль mysql в settings.php и проверил, что он читает его, изменив пользователя, и мог видеть новое имя пользователя в ошибках.

  1. AH01071: Ошибка 'Сообщение PHP: Ошибка: интерфейс 'Psr\Log\LoggerInterface' не найден в /home/bitnami/repo/www/web/core/modules/dblog/src/Logger/DbLog.php в строке 16

я должен "psr/журнал": "^1.1" в моем композиторе.json.

Чего я не понимаю, так это того, почему все работает на моем локальном компьютере, но не на моем удаленном.

jbarrio avatar
флаг cn
Для первого вопроса вам нужно настроить settings.local.php так, чтобы он указывал на реальный хост базы данных, пользователя и пароль. Я сомневаюсь, что в Amazon вы можете использовать root пользователя для указания на localhost, поэтому убедитесь, что вы установили правильные значения. Что касается второго вопроса, наличие psr/log в вашем композиторе не означает, что он был установлен. Вы запустили «установку композитора», чтобы убедиться, что он был развернут? Вы получили сообщение об ошибке?
No Sssweat avatar
флаг ua
Чтобы убедиться, что соединение с БД действительно установлено. Вы можете удалить файл settings.php и позволить Drupal воссоздать его при попытке просмотра сайта. Вы получите мастер установки, как если бы вы делали новую установку, за исключением того, что БД не пуста, он не установит Drupal в БД.
No Sssweat avatar
флаг ua
Также не помешает запустить `composer install --no-interaction --prefer-dist --optimize-autoloader`
pglatz avatar
флаг in
Спасибо за предложения. У меня есть другой сервер Lightsail, настроенный аналогично, но на котором работает сайт Drupal 7; отлично работает с user=root и host=localhost. Я использую стек LAMP/PHP и вручную установил mysql. Да, использование root в качестве имени пользователя — не лучшая идея, но это временный сервер разработки с небольшим значением для данных. Я запустил установку композитора с рекомендованными вами аргументами, без разницы.
pglatz avatar
флаг in
Все еще получаю ошибку PSR: `Ошибка: интерфейс 'Psr\Log\LoggerInterface' не найден в /home/bitnami/repo/www/web/core/modules/dblog/src/Logger/DbLog.php в строке 16 # 0 /home/bitnami/repo/www/vendor/composer/ClassLoader.php(480): include()\n#1 /home/bitnami/repo/www/vendor/composer/ClassLoader.php(346)`
Рейтинг:1
флаг in

Обнаружил проблемы - всегда хочется пнуть себя за то, что вы упускаете из виду очевидное - причина, по которой он не находил psr/log, заключается в том, что когда я восстанавливал его из git, я не осознавал, что это подмодуль. После клонирования репо мне пришлось: Выполните команду инициализации подмодуля git. Выполните команду обновления подмодуля git.

И ошибка входа в систему, которая у меня была, была связана с сетевой ошибкой на моем конце, она не указывала на правильный сервер.

Рад, что я решил эту проблему, и очень ценю предложения.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.