Carlos Rocha Posted June 18, 2018 at 07:00 PM Report #611011 Posted June 18, 2018 at 07:00 PM Estou recebendo esse erro do servidor ao tentar conectar via PDO com o mysql no link abaixo http://funerariasaopedro.net.br/crud/ Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)' in /var/www/html/funerariasaopedro.net.br/web/crud/_conexao/Conexao.php:33 Stack trace: #0 /var/www/html/funerariasaopedro.net.br/web/crud/_conexao/Conexao.php(33): PDO->__construct('mysql:?????????...', 'carcleo', 'teste') #1 /var/www/html/funerariasaopedro.net.br/web/crud/cadastraPlanos.php(9): CONEXAO\Conexao->__construct() #2 /var/www/html/funerariasaopedro.net.br/web/crud/index.php(27): require_once('/var/www/html/f...') #3 {main} thrown in /var/www/html/funerariasaopedro.net.br/web/crud/_conexao/Conexao.php on line 33 Classe de conexão: <?php namespace CONEXAO; use PDO; class Conexao { private static $conexao; private static $hostname = "server"; private static $port = 3306; private static $dbname = "db"; private static $username = "user"; private static $password = "senha"; public function __construct() { if (isset(self::$conexao)) { self::$conexao = self::$conexao; } else { try { self::$conexao = new PDO('mysql: host='.self::$hostname.'; port= '.self::$port.'; dbname='.self::$dbname, self::$username, self::$password ); } catch (Exception $e) { self::$conexao = NULL; echo $e->getMessage(); } } } public function abreConexao() { return self::$conexao; } public function fechaConexao () { if (self::$conexao != null) { self::$conexao = null; } } } O que pode ser isso? Obs.: O mesmo código localmente funciona e os dados de conexão estão corretos no servidor. As senhas do servidor já foram testadas ok. A classe abaixo, com os mesmos dados, funciona: <?php class Conexao { private $host = "server"; private $user = "user"; private $password = "senha"; private $db = "db"; private $conexao; public function abreConexao() { if (isset($this->conexao)) { return $this->conexao; } else { $this->conexao = new mysqli($this->host, $this->user, $this->password, $this->db); $this->conexao->set_charset("utf8"); return $this->conexao; } } public function fechaConexao () { if ($this->conexao != null) { $this->conexao = null; } } } ?>
M6 Posted June 19, 2018 at 09:24 AM Report #611016 Posted June 19, 2018 at 09:24 AM O que tens como servidor? Se estás a usar localhost, experimenta trocar por 127.0.0.1. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
Carlos Rocha Posted June 19, 2018 at 11:18 AM Author Report #611018 Posted June 19, 2018 at 11:18 AM não! O site está publicado. Localhost funciona corretamente. Sem referenciar a porta eu já tentei e deu erro também. Vou contatar o servidor do UOL HOST e ver como eles qual a porta que eles usam.
HappyHippyHippo Posted June 19, 2018 at 02:08 PM Report #611025 Posted June 19, 2018 at 02:08 PM tens o servidor mysql instalado na máquina remota ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Carlos Rocha Posted June 19, 2018 at 06:15 PM Author Report #611037 Posted June 19, 2018 at 06:15 PM Sim. É servidor de \Hospedagem muito usado! UOL HOST
HappyHippyHippo Posted June 19, 2018 at 08:38 PM Report #611039 Posted June 19, 2018 at 08:38 PM estou a ver que será mesmo problema do teu serviço, nada garante que o servidor esta na mesma máquina. só mesmo entrando em contacto com eles ps : não recebeste nenhum email com a informação de ligação ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Carlos Rocha Posted June 19, 2018 at 09:05 PM Author Report #611041 Posted June 19, 2018 at 09:05 PM vale dizer que os dados para conexão que coloquei na pergunta não são os usados na arquio de conexão com o banco. essas variáveis que coloquei aqui são fictícias.
Carlos Rocha Posted June 20, 2018 at 09:25 PM Author Report #611062 Posted June 20, 2018 at 09:25 PM o problema era na minha conexão PDO. Eu estava a fazer a string de dsn com quebras de linhas e não é permitido. Obrigado!
Sandro Posted January 13, 2019 at 03:26 AM Report #613401 Posted January 13, 2019 at 03:26 AM Para quem tiver problemas semelhantes, uma das coisas mais corretas a fazer é verificar se realmente o problema é na conexão, testando as portas abertas do servidor no site Meu IP e verificar se realmente as conexões externas estão sendo rejeitadas. No caso não era, mas fica aqui a dica 😉.
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