Creación de una aplicación PHP

Para crear una aplicación PHP que acceda a una instancia de Autonomous Database, debe empezar por configurar un sistema de desarrollo que soporte el acceso de base de datos para que pueda beneficiarse de las funciones de disponibilidad continua y alto rendimiento de Autonomous Database.

Después de configurar el sistema de desarrollo, codifique las conexiones de base de datos y las sentencias SQL en la aplicación para utilizar las funciones de disponibilidad continua y alto rendimiento.

Configuración del sistema de desarrollo PHP

Para configurar el sistema de desarrollo de modo que la aplicación PHP pueda utilizar las funciones de disponibilidad continua y alto rendimiento de una instancia de Autonomous Database, realice estos pasos.

  1. Descargue e instale PHP.
  2. Descargue e instale Oracle Instant Client.
  3. Descargue e instale PHP OCI8.
  4. Descargue las credenciales de cliente para la base de datos y haga que estén disponibles para Oracle Instant Client.

Antes de empezar

El sistema de desarrollo debe cumplir determinados criterios para configurarlo correctamente.

Descarga e instalación de PHP

Descargue e instale PHP para el sistema operativo y la arquitectura del sistema:

  • Oracle Linux:

    Ejecute estos comandos para descargar e instalar PHP y para descargar e instalar PEAR para obtener el comando de gestión de paquetes pecl de PHP:

    sudo dnf install -y oracle-release-el8 oracle-php-release-el8
    sudo dnf install -y php php-devel php-xml dtrace-utils
    wget http://pear.php.net/go-pear.phar
    sudo php go-pear.phar
  • Otras OSes y arquitecturas:

    Vaya a la página Instalación y configuración de PHP y siga las instrucciones para la arquitectura y el sistema operativo del sistema.

Descarga e instalación de Oracle Instant Client

Descargue e instale el paquete básico de Oracle Instant Client para el sistema operativo y la arquitectura del sistema:

  • Oracle Linux:

    Ejecute estos comandos para descargar e instalar el paquete básico de Oracle Instant Client:

    sudo dnf -y install oracle-release-el8
    sudo dnf -y install oracle-instantclient21.13-basic oracle-instantclient21.13-devel

    (Si desea ver una lista de todos los paquetes de Instant Client, vaya a http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html).

  • Otras OSes y arquitecturas:

    1. Vaya a la página Oracle Instant Client Downloadst y seleccione la descarga para el sistema operativo y la arquitectura de su sistema.

    2. En la página de descarga, acepte el acuerdo de licencia de Oracle Technology Network, descargue las versiones más recientes del paquete básico y el paquete SDK y, a continuación, instálalas siguiendo las instrucciones que se encuentran en la parte inferior de la página de descarga.

Descarga e instalación de PHP OCI8

Descargue e instale la extensión OCI8 de PHP para el sistema operativo y la arquitectura del sistema:

  • Oracle Linux:

    Ejecute estos comandos para descargar e instalar la versión más reciente de la extensión OCI8:

    sudo PHP_DTRACE=yes pecl install oci8
    sudo sh -c "echo extension=oci8.so > /etc/php.d/20-oci8.ini"
    sudo sh -c "echo oci8.events = On > /etc/php.d/20-oci8.ini"

    Si sus aplicaciones necesitan variables de entorno de Oracle, agréguelas al archivo de configuración /etc/sysconfig/httpd, por ejemplo:

    NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
    ORA_SDTZ=UTC

    Si agrega dichas variables, reinicie el servidor Apache HTTP para que lea las nuevas variables:

    sudo systemctl restart httpd
  • Otras OSes y arquitecturas:

    1. Ejecute este comando

      pecl install oci8
    2. Agregue las siguientes líneas al archivo php.ini de instalación de PHP:

      extension=oci8.so
      oci8.events = On

Descarga e instalación de las credenciales de cliente para la base de datos

  1. Descargue el archivo zip que contiene las credenciales de cliente para la base de datos en un directorio seguro de la computadora.

    Este archivo zip está disponible para su descarga en la página Detalles de la base de datos en la consola de Oracle Cloud. Si tiene una cuenta de usuario de Oracle Cloud que le permite acceder a esta página, descargue las credenciales de la siguiente forma. Si no tiene dicha cuenta, debe obtener el archivo zip del administrador de la base de datos, junto con la contraseña que se ha utilizado para proteger el archivo zip.

    1. En el explorador web, inicie sesión en Oracle Cloud y desplácese a la página Detalles de Autonomous Database.

    2. Haga clic en Conexión de base de datos.

    3. En la página Conexión a base de datos, haga clic en Descargar.

    4. En el cuadro de diálogo Download Wallet (Descargar cartera), introduzca una contraseña para la cartera en el campo Password (Contraseña) y confirme la contraseña en el campo Confirm Password (Confirmar contraseña).

      La contraseña debe tener al menos 8 caracteres e incluir al menos 1 letra y 1 carácter numérico o 1 carácter especial.

    5. Haga clic en Descargar para guardar el archivo zip de credenciales de cliente en un directorio seguro.

  2. Después de descargar el archivo zip, siga estos pasos:

    1. Descomprima el archivo zip de credenciales de cliente.

    2. Edite el archivo sqlnet.ora que se proporciona en las credenciales de cliente, sustituyendo "?/network/admin" por la ruta completa del directorio en el que ha descomprimido las credenciales de cliente; por ejemplo, cambie:

      (DIRECTORY="?/network/admin")

      a:

      (DIRECTORY="/users/jdoe/adbcredentials")
    3. Cree la variable de entorno TNS_ADMIN definiendo su valor en la ruta de acceso completa del directorio donde ha descomprimido las credenciales de cliente.

Codificación de conexiones de base de datos y sentencias SQL

Después de configurar el sistema de desarrollo de modo que soporte la conectividad de la aplicación PHP a Autonomous Database, siga estas directrices para lograr un alto rendimiento y una disponibilidad continua de las conexiones de la aplicación a la base de datos:

Para PHP, active FAN al agregar la línea oci8.events = On en el archivo php.ini como parte de la descarga e instalación de la extensión Oracle OCI8 en PHP.

La interfaz OCI8 no muestra llamadas de pool de conexiones específicas. En su lugar, utiliza el pool de conexiones internamente. Para obtener las ventajas del pool de conexiones, utilice la función oci_pconnect() para crear o volver a utilizar una conexión persistente que permanece en las solicitudes HTTP.

Por ejemplo:

$connection = oci_pconnect("appuser", getenv("MY_PASSWORD_ENV_VAR"), "tp_tls");

En este ejemplo se crea una conexión persistente al servicio de base de datos tp_tls.

Recursos adicionales

Para obtener información sobre la extensión Oracle OCI8 en PHP, consulte la página sobre Oracle OCI8.

Para obtener información sobre el uso de PHP con Oracle Database, consulte The Underground PHP and Oracle Manual.