Ronaldo.f.t Posted September 2, 2016 Share Posted September 2, 2016 (edited) Boa tarde, estou recebendo o seguinte erro quando tento acessar um módulo ou serviço no gerenciador da minha loja: [PrestaShop] Fatal error in module file :/home/***/public_html/classes/db/DbPDO.php:Call to a member function rowCount() on a non-object Minha versão do prestashop é 1.6.1.2, alguém me ajuda por favor estou precisando liberar a loja e ainda não consegui resolver isso. desde já agradeço! Edited September 2, 2016 by Ronaldo.f.t (see edit history) Link to comment Share on other sites More sharing options...
Ronaldo.f.t Posted September 2, 2016 Author Share Posted September 2, 2016 Boa tarde, estou com problema ao editar um produto qualquer da minha loja virtual que segue na imagem anexa. ao invés de salvar me redireciona para uma pagina e mostra um erro 500. Link to comment Share on other sites More sharing options...
selectshop.at Posted September 2, 2016 Share Posted September 2, 2016 Ative o modo debug, e verifique o erro que está escrevendo, ou entao leia os logs de erro do servidor. Provavelmente o seu servidor nao está configurado com os requisitos mínimos que Prestashop necessita. Para lhe dizer o que está acontecendo precisamos uma linha de erro. Ativar modo debug: http://www.prestashop.com/forums/topic/282165-ativar-modo-debug/ 1 Link to comment Share on other sites More sharing options...
selectshop.at Posted September 2, 2016 Share Posted September 2, 2016 Qual a versao php em uso e qual a versao mySQL. O problema está localizado no banco de dados. O erro vem somente com estas duas linhas ? Nao existem outras ? Alguma tabela do seu banco de dados deve estar corrupta. Peca ao seu provedor consertar tabelas quebradas no banco de dados. Ele deve saber o que fazer. 1 Link to comment Share on other sites More sharing options...
Ronaldo.f.t Posted September 2, 2016 Author Share Posted September 2, 2016 Sim, somente essas linhas o erro. vou verificar a versão do php e mysql. quanto a ativar esse modo de debug eu vou tentar tambem para melhor reportar esse erro. Link to comment Share on other sites More sharing options...
selectshop.at Posted September 2, 2016 Share Posted September 2, 2016 Eu acrescentei uma linha á minha resposta: Alguma tabela do seu banco de dados deve estar corrupta. Peca ao seu provedor consertar tabelas quebradas no banco de dados. Ele deve saber o que fazer. 1 Link to comment Share on other sites More sharing options...
Ronaldo.f.t Posted September 2, 2016 Author Share Posted September 2, 2016 (edited) Como assim alguma tabela corrupta? não entendi, quem tem acesso ao servidor sou eu mesmo. como eu sei se tem essas tabelas corruptas e como consertar? grato! Edited September 2, 2016 by Ronaldo.f.t (see edit history) Link to comment Share on other sites More sharing options...
selectshop.at Posted September 2, 2016 Share Posted September 2, 2016 Existem muitos tools para consertar o banco de dados. Eu uso o HeidiSQL para isto. Ele identifica com uma busca especial tabelas e indexes quebrados, e tem a opcao automática para consertar as mesma. Nao sei qual tool vc. está usando para acessar o banco de dados. phpMyAdmin ? Veja aqui tutorial: http://php.about.com/od/mysqladministration/qt/repair_mysql.htm 1 Link to comment Share on other sites More sharing options...
Ronaldo.f.t Posted September 2, 2016 Author Share Posted September 2, 2016 (edited) Eu acesso pelo própio gerenciador mysql do cpanel. como eu faço para realizar esse procedimento com essa ferramenta citada? tem algum link ai de algum video ou blog? aaah sim desculpe eu vou ver o seu link. Tipo de servidor: MySQL Versão do servidor: 5.6.31 - MySQL Community Server (GPL) PHP 5.4 O problema pode estar relaciona a isso? o meu tema diz as seguintes informações: Programa Necessário Adobe Photoshop CS+ For uncompressing a template ZIP package: WinZip 9+ (Windows); Stuffit Expander 10+ (Mac) Apache Server PHP v. 5 or higher MySQL 4.1.14 or later Sublime Text2 or later, Notepad++ or any php-editor Edited September 2, 2016 by Ronaldo.f.t (see edit history) Link to comment Share on other sites More sharing options...
selectshop.at Posted September 2, 2016 Share Posted September 2, 2016 A ferramenta do cPanel é o phpmyAdmin. Te linkei um tutorial no meu último post. É um problema no banco de dados (erro fatal na leitura). Isto é sinal que o seu banco está corrupto e possue um index ou tabela quebrada. Consertando o erro deve sumir. 1 Link to comment Share on other sites More sharing options...
selectshop.at Posted September 3, 2016 Share Posted September 3, 2016 Funcionou a dica ??? Problema resolvido ??? 1 Link to comment Share on other sites More sharing options...
Ronaldo.f.t Posted September 5, 2016 Author Share Posted September 5, 2016 Bom dia amigos, eu não consegui implementar essa solução pois faço muitas outras atividades aqui no trabalho. mas hoje eu farei e reportarei se funcionou, muito obrigado por toda atenção! Link to comment Share on other sites More sharing options...
Ronaldo.f.t Posted September 6, 2016 Author Share Posted September 6, 2016 (edited) Boa tarde, ativei o modo de debug e obtive o seguinte erro que segue abaixo: [PrestaShopDatabaseException] Table 'sagianco_loja.ps_smarty_lazy_cache' doesn't exist DELETE FROM `ps_smarty_lazy_cache` WHERE template_hash='********************' AND cache_id LIKE "blockcms%" at line 791 in file classes/db/Db.php 786. if ($webservice_call && $errno) { 787. $dbg = debug_backtrace(); 788. WebserviceRequest::getInstance()->setError(500, ' '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);789. } elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) {790. if ($sql) {791. throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');792. }793. 794. throw new PrestaShopDatabaseException($this->getMsgError());795. }796. } DbCore->displayError - [line 425 - classes/db/Db.php] - [1 Arguments]DbCore->query - [line 601 - classes/db/Db.php] - [1 Arguments]DbCore->execute - [line 295 - classes/SmartyCustom.php] - [2 Arguments]SmartyCustomCore->delete_from_lazy_cache - [line 81 - classes/SmartyCustom.php] - [3 Arguments]SmartyCustomCore->clearCache - [line 3026 - classes/Tools.php] - [3 Arguments]ToolsCore::clearCache - [line 2428 - classes/module/Module.php] - [4 Arguments]ModuleCore->_clearCache - [line 671 - modules/blockcms/blockcms.php] - [1 Arguments]BlockCms->_postProcess - [line 788 - modules/blockcms/blockcms.php]BlockCms->getContent - [line 867 - controllers/admin/AdminModulesController.php]AdminModulesControllerCore->postProcessCallback - [line 1116 - controllers/admin/AdminModulesController.php]AdminModulesControllerCore->postProcess - [line 178 - classes/controller/Controller.php]ControllerCore->run - [line 367 - classes/Dispatcher.php]DispatcherCore->dispatch - [line 58 - admin/index.php] Acessando o banco de dados pude perceber que essa tabela realmente não existe. Mas existe uma chamada: ps_smarty_cache. Edited September 6, 2016 by Ronaldo.f.t (see edit history) Link to comment Share on other sites More sharing options...
Daniel - PrestaBR Posted September 6, 2016 Share Posted September 6, 2016 Possivelmente houve uma atualização do PrestaShop mal-sucedida. Na atualização não pode ter erro, caso contrário certamente vão faltar outras tabelas e campos que são criados na atualização. Recomendo que restaure o backup da loja (que estava funcionando antes da atualização) e tente atualizar novamente, se possível em localhost ou em outro servidor. 1 Link to comment Share on other sites More sharing options...
Ronaldo.f.t Posted September 6, 2016 Author Share Posted September 6, 2016 (edited) Infelizmente eu não tenho backup, essa loja está em estagio de desenvolvimento e eu estava quase finalizando. agora não sei o que fazer aprendi fazer o backup hoje. Edited September 6, 2016 by Ronaldo.f.t (see edit history) Link to comment Share on other sites More sharing options...
Ronaldo.f.t Posted September 13, 2016 Author Share Posted September 13, 2016 Infelizmente estou tendo que refazer tudo do zero, como eu faço para fazer backup que me permita restaurar tudo de um determinado dia que estava funcionando? tipo eu quero fazer backups diarios para se acontecer novamente enquanto eu altero a loja eu consiga me recuperar do problema. desde já agradeço a atenção! Link to comment Share on other sites More sharing options...
selectshop.at Posted September 13, 2016 Share Posted September 13, 2016 Quando vc. faz um upgrade da loja com o 1-click-upgrade, este faz automaticamente um back-up. Este fica guardado nas funcoes do 1-click-upgrade. Verifique lá, vc. vai encontrar um rollback. Em geral: back-up do banco de dados vc. pode fazer no back-office na aba: Parametros avancados -> DB back-up. back-up do FTP: ou entao com o cPanel, ou vc. simplesmente baixa o seu completo FTP para sua máquiona local, para poder subir este novamente. Mais comodo mesmo sao back-ups feitos por cron (cPanel), ou aqueles que o provedor faz. Muitos deles fazem automaticamente e diariamente, mas isto depende tudo do seu plano web. Pergunte o seu provedor. 1 Link to comment Share on other sites More sharing options...
selectshop.at Posted September 13, 2016 Share Posted September 13, 2016 PS: se a tabela lazy_cache nao existe, entao basta adicioná-la ao banco de dados. Vc. pode tentar MAS ANTES DE MAIS NADA faca um back-up do banco de dados !!! Acrescentar lazy_cache: SQL-query com o phpMyAdmin: DROP TABLE IF EXISTS `PREFIX_smarty_lazy_cache`; CREATE TABLE `PREFIX_smarty_lazy_cache` ( `template_hash` varchar(32) NOT NULL DEFAULT '', `cache_id` varchar(255) NOT NULL DEFAULT '', `compile_id` varchar(32) NOT NULL DEFAULT '', `filepath` varchar(255) NOT NULL DEFAULT '', `last_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`template_hash`, `cache_id`, `compile_id`) ) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; Neste código vc. por favor Altera o PREFIX, para o prefixo do seu banco de dados. Se nao alterou nada, quando instalou ou prefixo é ps_. e fica assim: DROP TABLE IF EXISTS `ps_smarty_lazy_cache`; CREATE TABLE `ps_smarty_lazy_cache` ( `template_hash` varchar(32) NOT NULL DEFAULT '', `cache_id` varchar(255) NOT NULL DEFAULT '', `compile_id` varchar(32) NOT NULL DEFAULT '', `filepath` varchar(255) NOT NULL DEFAULT '', `last_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`template_hash`, `cache_id`, `compile_id`) ) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now