Sytuacja taka jak opisana w tytule tego artykułu. Błąd:
Fatal error: Call to a member function rowCount() on boolean in /var/www/prestashop/classes/db/DbPDO.php on line 208
Pojawia się w momencie włączenia pokazywania błędów. Aby pokazać błędy w pliku:
config/defines.inc.php
Zamień kod:
if (_PS_MODE_DEV_ === true) { @ini_set('display_errors', 'on'); @error_reporting(E_ALL | E_STRICT); define('_PS_DEBUG_SQL_', true); } else { @ini_set('display_errors', 'off'); define('_PS_DEBUG_SQL_', false); }
Na:
if (_PS_MODE_DEV_ === true) { @ini_set('display_errors', 'on'); @error_reporting(E_ALL | E_STRICT); define('_PS_DEBUG_SQL_', true); } else { @ini_set('display_errors', 'on'); define('_PS_DEBUG_SQL_', false); }
Problem ma związek z przepełnieniem się bazy danych. Można to naprawić na 2 sposoby doraźny i permanentny.
Zawartość artykułu
Sposób doraźny.
Wykonaj kopię bezpieczeństwa bazy danych i zaloguj się do PhpMyAdmin na Twoim serwerze.
Opisywaliśmy to m.in. w artykule: https://pskrk.com/naprawa-bledu-zakresy-nachodza-na-siebie-w-presta-shop/
Następnie wyczyść bazę danych z nadmarowych tabel i ze statystyk
Wiadomo, że statystyki to kopalnia wiedzy o sklepie, jednak na tę chwilę wyższy priorytet ma natychmiastowe przywrócenie usługi. Na upartego statystyki będzie można odzyskać z kopii bezpieczeństwa bazy którą właśnie wykonałeś / aś
Aby wyczyścić te tabele wykonaj zapytanie z artykułu: https://pskrk.com/wyczyszczenie-niepotrzebnych-tabel-w-bazie-danych/
Sposób permanentny.
Poproś administratora Twojego serwera o zwiększenie rozmiaru bazy danych MySQL najlepiej 2-3 krotnie aby się ta sutacja nie powtórzyła 🙂
Nazwę bazy danych znajdziesz w pliku:
nano config/settings.inc.php
To nazwa w wierszu ze zmienną: _DB_NAME_
UWAGA! Jeśli włączyłeś/aś pokazywanie błędów w w/w pliku config/defines.inc.php po skończonej naprawie przywróć go do wersji pierwotnej.