Nano Hash - криптовалюты, майнинг, программирование

Prestashop: «Ссылка на базу данных не может быть установлена»

Это наш первый опыт переноса установки Prestashop с одного домена на другой, и это был адский период обучения.

Шаги, которые мы предприняли до сих пор:

Скопировал базу: 0) Имя новой базы:gamingco_ps, пользовательgamingco_ps1

  1. Изменена конфигурация ps_configuration.
  2. Изменен ps_shop_url (домен/домен SSL)
  3. Исправлен htcacess, чтобы остановить любые редиректы.
  4. CPANEL удалил все временные перенаправления
  5. Изменен файл /home/gamingco/public_html/app/config/parameters.php:
<?php return array (
  'parameters' => 
  array (
    'database_host' => 'localhost',
    'database_port' => '',
    'database_name' => 'gamingco_ps',
    'database_user' => 'gamingco_ps1',
    'database_password' => '{Password}',
    'database_prefix' => 'pswy_',
    'database_engine' => 'InnoDB',
    'mailer_transport' => 'smtp',
    'mailer_host' => '127.0.0.1',
    'mailer_user' => NULL,
    'mailer_password' => NULL,
    'secret' => 'dva3atuoqjpqhb8xmjtfwjszkpbwaifombdlbg46qwygbi7e4mpyfgui',
    'ps_caching' => 'CacheMemcache',
    'ps_cache_enable' => false,
    'ps_creation_date' => '2021-01-27',
    'locale' => 'en-US',
    'use_debug_toolbar' => true,
    'cookie_key' => 'zml9yqgynwgixtb1e4c0xh8q8gjeynsp7arnovqw5dhpcthcyfpu89bx',
    'cookie_iv' => 'qsembkbmpfbnk5bf3hhxjg3sw1laaa06',
    'new_cookie_key' => 'def00000acce4699cd116debb37dc5533dfd6ff201153a61ac3446801d772207548a0f44596a7a01939e9f753e4290f3735373a25516e62b2118322ec7f7cd64e3b347ee',
  ),
);

Теперь мы получаем ошибку 500 без режима отладки, а с режимом отладки нас встречают:

Link to database cannot be established: SQLSTATE[28000] [1045] Access denied for user 'gamingco_ps1'@'localhost' (using password: YES)
at line 136 in file classes/db/DbPDO.php
131.     public function connect()
132.     {
133.         try {
134.             $this->link = $this->getPDO($this->server, $this->user, $this->password, $this->database, 5);
135.         } catch (PDOException $e) {
136.             throw new PrestaShopException('Link to database cannot be established: ' . $e->getMessage());
137.         }
138. 
139.         $this->link->exec('SET SESSION sql_mode = \'\'');
140. 
141.         return $this->link;```
DbPDOCore->connect - [line 330 - classes/db/Db.php]
DbCore->__construct - [line 241 - classes/db/Db.php] - [4 Arguments]
DbCore::getInstance - [line 47 - config/alias.php]
pSQL - [line 1336 - classes/shop/Shop.php] - [1 Arguments]
ShopCore::findShopByHost - [line 337 - classes/shop/Shop.php] - [1 Arguments]
ShopCore::initialize - [line 118 - config/config.inc.php]
require - [line 27 - index.php] - [1 Arguments]

Я снова прошел все шаги, и я не могу определить, где может быть ошибка.


Ответы:


1

Ошибка здесь довольно проста, Prestashop не может подключиться к базе данных.

Что нужно проверить:

  • Убедитесь, что ваш каталог var/cache/prod не содержит файлов кеша из предыдущей установки, так как это может привести к старому соединению с БД со старыми учетными данными.

  • Дважды проверьте данные БД в parameters.php, внимательно проверьте правильность данных (с учетом регистра, правильный хост/порт БД и т. д.)

Если ничего из вышеперечисленного не помогает, попробуйте подключить свой ящик через ssh и проверить прямое подключение к БД оттуда с помощью:

mysql -u{username} -p{password} {database name}

и опубликуйте результат.

13.03.2021
  • Спасибо за помощь, мы проверили все детали у нашего хоста сервера, который пояснил, что они верны. Мы решили эту проблему, создав нового привилегированного пользователя базы данных и новый пароль, что, казалось, решило проблему. 14.03.2021
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..