Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fkarol

erro de conexao?

Recommended Posts

Boa tarde

Tenho uma aplicação em zend framework, localmente ela esta rodando normalmente

Quando transferir para locaweb deu o seguinte erro:

 

Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with message 'SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)' in /home/storage/3/c8/81/dominio/library/Zend/Db/Adapter/Pdo/Abstract.php:143 Stack trace: #0 /home/storage/3/c8/81/dominio/library/Zend/Db/Adapter/Abstract.php(417): Zend_Db_Adapter_Pdo_Abstract->_connect() #1 /home/storage/3/c8/81/dominio/library/Zend/Db/Adapter/Pdo/Abstract.php(230): Zend_Db_Adapter_Abstract->query('Select * from c...', Array) #2 /home/storage/3/c8/81/dominio/library/Zend/Db/Adapter/Abstract.php(644): Zend_Db_Adapter_Pdo_Abstract->query('Select * from c...', Array) #3 /home/storage/3/c8/81/dominio/application/default/controllers/IndexController.php(11): Zend_Db_Adapter_Abstract->fetchAll('Select * from c...') #4 /home/storage/3/c8/81/dominio/library/Zend/Controller/Action.php(503): IndexController->indexAction() #5 /home/storage/3/c8/81/dominio in /home/storage/3/c8/81/dominio/library/Zend/Db/Adapter/Pdo/Abstract.php on line 143

 

alguem ja se deparou com algo asism, o erro parece ta relacionando com a conexao com o banco de dados mas ja confi tudo conforme os dados de acesso ao mesmo

 

desde ja agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Fkarol,

 

Tem algumas coisas que você pode olhar.

 

1- Se o servidor MYSQL está no mesmo servidor de sua aplicação, você pode tentar usar o ip, tipo "127.0.0.1" ao invés de "localhost";

 

2- Se o MYSQL estiver em um host diferente, você não pode usar socket para se conectar a este servidor, ao invés use TCP;

 

3- Verifique se seu servidor não está restringindo seu arquivo .htaccess;

 

Espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia obrigado

pela ajuda

entretanto estou com uma duvida:

eu acredito que seja a segunda opção 2- Se o MYSQL estiver em um host diferente, você não pode usar socket para se conectar a este servidor, ao invés use TCP;

 

porque o servidor esta em outro local sendo acessado com um url semelhante a este: mysql01.dominio.com.br, e acredito que a locaweb coloca o banco de dados em servidores diferentes.

 

desta forma como faço para usar TCP no ZF?

 

atualmente uso assim:

$db = Zend_Db::factory($configurations->db->adapter,$configurations->db);

Zend_Db_Table_Abstract::setDefaultAdapter($db);

$registry->set('db',$db);

 

desde ja agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

porque você não configura a conecção para seu banco no seu application.ini?

 

[database]
resources.db.adapter = PDO_MYSQL
resources.db.params.host = [b]IP DO SERVIDOR MYSQL[/b]
resources.db.params.username = USERNAME
resources.db.params.password = PASSWORD
resources.db.params.dbname = NOME DO SEU BANCO

No host apenas coloque o endereço do seu servidor mysql, acho que no seu caso mysql01.dominio.com.br.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia

eu fiz mais ou menos isso mesmo so que coloquei no arquivo: configurations.ini

assim:

[default]
db.adapter = PDO_MYSQL
db.hostname = ip
db.username = nomedousuario
db.password = senha
db.dbname = banco

depois faço assim:

 

$configurations= new Zend_Config_Ini ('../application/configurations/configurations.ini','default');
$registry = Zend_Registry::getInstance();
$registry->set('configurations',$configurations);

$db = Zend_Db::factory($configurations->db->adapter,$configurations->db);
Zend_Db_Table_Abstract::setDefaultAdapter($db);
$registry->set('db',$db);

e ai da o erro, o suporte da locaweb alegou o seguinte:

 

O erro acima em questão. (Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'), indica que você não incluiu todas as informações em seu arquivo de conexão, ou o host está indicado como "localhost".

 

Sugiro que verifique em questão as configurações de conexão em seu arquivo de conexão.

 

Maiores informações basta acessar:

 

http://wiki.locaweb.com.br/pt-br/MySQL:_Rela%C3%A7%C3%A3o_de_erros%2C_suas_causas_e_c omo_solucion%C3%A1-los

 

Entretanto como você pode ver acho que set todos os parametros sim, e mais localmente funcioona, so no servidor que da este erro.

 

e não to colocando localhost e sim o ip ou o endreço que eles me passarao referente a servidor mysql

 

agradeço mais uma vez pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou o IP ou o endereço???

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.