Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon dont PHP utilise PDO pour accéder à la base de données Oracle

Explication détaillée de la façon dont PHP utilise PDO pour accéder à la base de données Oracle

黄舟
黄舟original
2017-09-30 09:12:454649parcourir

L'extension POD a été ajoutée dans PHP5. Cette extension fournit la classe PDO intégrée à PHP pour accéder à la base de données. Différentes bases de données utilisent le même nom de méthode pour résoudre le problème des connexions de base de données incohérentes. L'article suivant présente principalement les étapes permettant à PHP d'utiliser PDO pour accéder à la base de données Oracle. Les amis dans le besoin peuvent s'y référer.

Préface

PDO a appris dès le début les succès et les échecs de la mise à l'échelle des bases de données existantes. Le code de PDO étant tout nouveau, nous avons la possibilité de repenser entièrement les performances pour tirer parti des dernières fonctionnalités de PHP 5.

PDO est conçu pour fournir des fonctionnalités de base de données communes comme base tout en offrant un accès facile aux fonctionnalités uniques d'un SGBDR.

Bien que PHP et Mysql constituent une paire standard dans LAMP, le projet de l'entreprise utilise Mysql et Oracle respectivement comme bibliothèque d'exécution et bibliothèque de commandes, donc PHP doit être connecté à la base de données Oracle. Cet article expliquera comment se connecter à la base de données Oracle via PDO. Je n'entrerai pas dans plus de détails ci-dessous. Jetons un coup d'œil à l'introduction détaillée.

Environnement de développement

De plus, laissez-moi d'abord vous expliquer l'environnement que j'utilise :

  • RedHat(CentOS)6.7

  • PHP5.6

  • Oracle11g

La construction de php5.6 peut être référencée ici

L'installation d'Oracle dans un environnement Linux peut être référencée ici

Bien sûr, vous ne pouvez pas non plus installez l'intégralité d'Oracle, mais installez uniquement le client instantané pour y parvenir ; s'il s'agit de l'étape de connexion Oracle du client instantané, veuillez vous référer à la section de remerciement à la fin de cet article de blog.

Avant de commencer les étapes suivantes, veuillez vous assurer que les trois environnements ci-dessus sont correctement configurés et disponibles.

Installer PDO_OCI

Si vous avez installé la version php5.6.31, il semble que le module pdo_oci soit déjà livré avec mais pour être prudent, réinstallons-le.

Télécharger et décompresser


$ wget https://pecl.php.net/get/PDO_OCI-1.0.tgz
$ tar -xvf PDO_OCI-1.0.tgz
$ cd PDO_OCI-1.0

Modifier la configuration fichier

Mettre à jour le fichier config.m4 dans le répertoire pour l'adapter à Oracle11g


# 在第10行左右找到与下面类似的代码,添加这两行:
elif test -f $PDO_OCI_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.11.2; then
 PDO_OCI_VERSION=11.2

# 在第101行左右添加这几行:
11.2)
 PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
 ;;

Compiler

Exécuter dans le répertoire courant


$ phpize

phpize est similaire à la commande gcc , Principalement utilisé pour générer des modules de plug-ins PHP. phpize dépend du module php-deval. Si la commande ne peut pas être exécutée, veuillez utiliser yum pour installer php-deval vous-même

Vous pouvez vérifier s'il a été installé en exécutant la commande suivante :


$ rpm -qa | grep php

Vérifiez s'il existe php56w-deval-5.6.xxx. Sinon, veuillez installer php56w-deval pour l'installer.

Installation

Une fois la commande phpize exécutée, de nombreux fichiers seront générés dans le répertoire, notamment configure et autres fichiers courants dont nous disposons Pour installer le fichier standard de l'application via le code source sous Linux, exécutez les commandes suivantes dans l'ordre :


$ ./configure
$ make && make install

Généralement vous rencontrerez un problème ici, et vous serez invité lors de la création Dans le fichier pdo_oci.c :


pdo_oci.c:34: error: expected ‘=', ‘,', ‘;', ‘asm' or ‘attribute' before ‘pdo_oci_functions'

La solution est de modifier la ligne 34 du fichier pdo_oci.c , remplacez function_entry par zend_function_entry, enregistrez et recréez. C'est tout.

Créer un fichier ini

Après succès, il sera demandé qu'il se trouve déjà dans /usr/lib64/ Répertoire php/modules Le module pdo_oci.so est généré. Il suffit de dire à PHP que l'on souhaite référencer ce module.

Créez un nouveau fichier ini dans le répertoire /etc/php.d : pdo_oci.ini, contenu :


extension=pdo_oci.so

Allez ici , Le module pdo_oci est installé et nous pouvons le visualiser via php -m grep oci.

Installer OCI8

L'étape suivante consiste à installer le module oci8.

Téléchargez et décompressez

Exécutez les commandes suivantes dans la ligne de commande dans l'ordre :


$ wget https://pecl.php.net/get/oci8-2.0.8.tgz
$ tar -xvf oci8-2.0.8.tgz
$ cd oci8-2.0.8

Compilez et installez

Les étapes sont similaires à pdo_oci ci-dessus :


$ phpize
$ ./configure --with-oci8=shared
$ make && make install

Créer le fichier ini

De même, nous le créons dans le répertoire /etc/php.d oci8.ini, contenu :


extension=oci8.so

Redémarrer Apache

Ne pas oublier de redémarrer Allez sur le serveur apache pour recharger le module php :


$ service httpd restart

On peut créer un fichier test.php dans le répertoire du site. est :


<?php
phpinfo();

Ensuite, nous allons sur la page pour vérifier les informations phpinfo imprimées et vérifier les informations pertinentes des modules pdo, pdo_oci et oci8.

Résumé

Références et remerciements

Clients php5.3 se connectant à Oracle Installer le terminal et le module pdo_oci

Installation des extensions PHP PDO_OCI et OCI8 sur CentOS 6.4 64 bits

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn