es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo establezco una conexión a una base de datos remota?

Estoy tratando de entender el concepto general.

Tengo una instancia de máquina virtual de la pila LAMP en Google Cloud Platform con una base de datos MySQL.

Ya he creado una base de datos a través de la interfaz web de phpMyAdmin.

Mi archivo index.php tiene código PHP que utiliza los datos de esa base de datos.

Importante: Los archivos del proyecto están almacenados en mi computadora en casa (localmente).

Problema: Tengo archivos config.php e index.php en mi proyecto, pero no sé qué debo hacer para conectarme o “hablar” con la base de datos que está en la instancia del vm de GCP.

Intenté cambiar el valor ‘DBHOST’ en mi archivo config.php por el nombre de host de la base de datos, pero obviamente eso no hizo nada porque no veo cómo esa información es suficiente para conectarse a la base de datos.

Este es mi archivo config.php:

<?php
define('DBHOST', 'localhost');
define('DBNAME', 'business_covid');
define('DBUSER', 'testuser');
define('DBPASS', 'hidden');
define('DBCONNSTRING','mysql:dbname=business_covid;charset=utf8mb4');
?>

¿Necesito más información que esto y es un archivo config.php correctamente configurado todo lo que se necesita para conectarse a una base de datos?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para conectarse a una base de datos que está en una instancia VM de GCP, necesitará proporcionar la dirección IP o el nombre de host de la instancia, el nombre de la base de datos, el nombre de usuario y la contraseña. Estas credenciales se pueden obtener desde la Consola de Google Cloud.

    En su archivo config.php, deberá actualizar los valores de las constantes DBHOST, DBNAME, DBUSER y DBPASS con los valores correctos. Debe establecer la constante DBHOST con la dirección IP o el nombre de host de su instancia VM de GCP. Por ejemplo:

    define('DBHOST', '35.123.45.67');
    define('DBNAME', 'business_covid');
    define('DBUSER', 'testuser');
    define('DBPASS', 'hidden');
    

    Además, es posible que deba actualizar la constante DBCONNSTRING con la cadena de conexión de la base de datos PDO correcta, que debe incluir el nombre de la base de datos y el conjunto de caracteres. Aquí hay un ejemplo:

    define('DBCONNSTRING', 'mysql:host=35.123.45.67;dbname=business_covid;charset=utf8mb4');
    

    Una vez que haya actualizado su archivo config.php con las credenciales correctas, su archivo index.php debería poder comunicarse con la base de datos en su instancia VM de GCP.

    Tenga en cuenta que deberá asegurarse de que su instancia VM de GCP esté configurada para permitir el tráfico entrante en el puerto de MySQL (3306) desde la dirección IP de su computadora personal. Puede configurar esto utilizando las reglas de firewall de GCP en la Consola de Cloud.

Comments are closed.