ZF2 :: Resolvendo o erro “Can’t get or fetch or create an instance for Zend\Db\Adapter\Adapter”

Captura de tela do erro em Adapter

Captura de tela do erro em Adapter14 horas – esse foi o tempo que levei para descobrir a solução para o erro acima. Todo o sistema estava rodando direito – até eu fazer o comit no Git com outros membros da equipe. O sistema simplesmente parou de funcionar na minha máquina – na deles tudo rodava normal. Verifiquei cada arquivo comitado e… nada. Tentei atualizar o composer e, nada…. Procurei desesperadamente no oráculo do Google e…. vários problemas semelhantes mas a solução não era a que eu precisava… nada.

Até que, depois de muita pesquisa, ulguns comentários no GitHub me ajudaram. A solução? O problema estava no meu arquivo local.php. Veja abaixo como o arquivo estava e como ele deveria estar:

Como estava (errado)

 

$db = array(
 'database' => 'meuDb',
 'username' => "usuario",
 'password' => 'senha',
 'hostname' =. 'localhost'
);

return array(
 'db' => array(
 'dsn' => 'mysql:dbname=meuDb;host=localhost',
 'username' => 'usuario',
 'password' => 'senha',
 ),
);

Como deveria estar (certo)

return array(
	'db' => array(
			'driver' => 'Pdo',
			'dsn' => 'mysql:dbname=meuDb;host=localhost',
			'username' => 'usuario',
			'password'=> 'senha',
	),

	'service_manager' => array(
			'factories' => array(
					'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
			),
	),
);

 

A resposta que me ajudou encontra-se no seguinte link: https://github.com/zendframework/zf2/issues/3726. É a resposta do usuário flyingbuddha, comentado em 27 de fevereiro de 2013 (27 Feb 2013).

CategoriasSem categoria

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.