Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

336
Visualizações
No se puede conectar a mysql usando PHP en la nube de Google. No hay mensajes emergentes de error

Este es mi código main.php solo para intentar conectarme a la base de datos MySQL y verificar si se puede conectar o no.

 <?php $USER = "root"; $PASS = "";// I do have a password. I just haven't mentioned on StackOverflow $IP = "104.199.248.141"; $DB = "Contacts"; $conn = mysqli_connect($IP,$USER,$PASS,$DB,null,"/cloudsql/adiscontactbook:asia-east1:contacts-book"); if($conn != null) { print("Connected! :*"); mysqli_close($conn); } else { print("Can't connect! :("); } ?>

Y este es app.yaml :

 runtime: php55 api_version: 1 threadsafe: yes handlers: - url: /favicon\.ico static_files: favicon.ico upload: favicon\.ico - url: .* script: main.php

PUEDO conectarme a mi instancia de mysql a través de la terminal escribiendo:

 mysql --host=104.199.248.141 --user=root --password

¡y la salida en el terminal está Connected! :* .

Esta es la URL de mi aplicación: https://adiscontactbook.appspot.com/

Cuando escribo la URL en el navegador, aparece Can't connect! :( .

PD: Le he dado permisos a mi aplicación y también a mi computadora local en la sección Authorize networks para acceder a la instancia de mysql ingresando la dirección IP 35.185.186.77 (IP externa de mi aplicación) y 14.97.103.225 respectivamente.

¿Por qué no tengo problemas para acceder a él a través de la terminal pero no puedo conectarme a través del navegador escribiendo la URL?

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Debe pasar nulo al parámetro $host , ya que se está conectando a través de un socket.

 $conn = mysqli(null, $USER, $PASS, $DB,null, "/cloudsql/adiscontactbook:asia-east1:contacts-book")
about 4 years ago · Santiago Trujillo Relatório

0

El quinto parámetro de mysqli_connect es el número de puerto y el sexto parámetro es la ruta del socket. Puede intentar omitir los parámetros quinto y sexto. Consulte la documentación de mysqli_connect ( http://php.net/manual/en/function.mysqli-connect.php )

about 4 years ago · Santiago Trujillo Relatório

0

Pasé un día entero tratando de resolver esto... estaba convirtiendo de mysql a mysqli en preparación para php7 y CloudSQL de segunda generación de appengine. No pude encontrar en ninguna parte del documento que tuviera que usar este formato de 6 parámetros para la función mysqli_connect().

Además, el ":" que precede al nombre del servidor en mysql_connect debe eliminarse (pero no la barra diagonal '/') cuando se usa con mysqli. Por eso:

 $servername=":/cloudsql/project:us-east1:database";

se convierte en:

 $servername="/cloudsql/project:us-east1:database";
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda