Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erklärung, wie PHP PDO verwendet, um auf die Oracle-Datenbank zuzugreifen
POD-Erweiterung wurde in PHP5 hinzugefügt. Diese Erweiterung bietet eine in PHP integrierte Klasse PDO für den Zugriff auf die Datenbank. Verschiedene Datenbanken verwenden denselben Methodennamen, um das Problem inkonsistenter Datenbankverbindungen zu lösen. Im folgenden Artikel werden hauptsächlich die Schritte vorgestellt, mit denen PHP mithilfe von PDO auf die Oracle-Datenbank zugreifen kann.
Vorwort
PDO hat von Anfang an über die Erfolge und Misserfolge der Skalierung bestehender Datenbanken gelernt. Da der Code von PDO brandneu ist, haben wir die Möglichkeit, die Leistung von Grund auf neu zu gestalten, um die neuesten Funktionen von PHP 5 zu nutzen.
PDO wurde entwickelt, um allgemeine Datenbankfunktionen als Grundlage bereitzustellen und gleichzeitig einen einfachen Zugriff auf die einzigartigen Funktionen eines RDBMS zu ermöglichen.
Obwohl PHP und MySQL eine Standardpaarung in LAMP sind, verwendet das Projekt des Unternehmens MySQL und Oracle als Laufzeitbibliothek bzw. Auftragsbibliothek, sodass PHP mit der Oracle-Datenbank verbunden sein muss. In diesem Artikel wird erläutert, wie Sie über PDO eine Verbindung zur Oracle-Datenbank herstellen. Ich werde im Folgenden nicht näher darauf eingehen.
Entwicklungsumgebung
Lassen Sie mich zunächst auch die Umgebung erklären, die ich verwende:
RedHat(CentOS)6.7
PHP5.6
Oracle11g
Auf die Erstellung von PHP5.6 kann hier verwiesen werden.
Auf die Installation von Oracle in einer Linux-Umgebung kann hier verwiesen werden.
Das geht natürlich auch nicht Installieren Sie das gesamte Oracle, aber installieren Sie nur den Instant-Client, um dies zu erreichen. Wenn es sich um den Oracle-Verbindungsschritt des Instant-Clients handelt, lesen Sie bitte den Bestätigungsabschnitt am Ende dieses Blogbeitrags.
Bevor Sie mit den folgenden Schritten beginnen, stellen Sie bitte sicher, dass die oben genannten drei Umgebungen korrekt konfiguriert und verfügbar sind.
PDO_OCI installieren
Wenn Sie die PHP5.6.31-Version installiert haben, scheint das pdo_oci-Modul bereits enthalten zu sein Aber sicherheitshalber installieren wir es neu.
Herunterladen und entpacken
$ wget https://pecl.php.net/get/PDO_OCI-1.0.tgz $ tar -xvf PDO_OCI-1.0.tgz $ cd PDO_OCI-1.0
Konfiguration ändern Datei
Aktualisieren Sie die Datei config.m4 im Verzeichnis, damit sie für Oracle11g geeignet ist
# 在第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) ;;
Kompilieren
Im aktuellen Verzeichnis ausführen
$ phpize
phpize ähnelt gcc Befehl, wird hauptsächlich zum Generieren von PHP-Plug-in-Modulen verwendet. phpize ist vom php-deval-Modul abhängig. Bitte verwenden Sie yum, um php-deval selbst zu installieren.
Sie können überprüfen, ob es installiert wurde, indem Sie den folgenden Befehl ausführen:
$ rpm -qa | grep php
Überprüfen Sie, ob php56w-deval-5.6.xxx vorhanden ist. Wenn nicht, installieren Sie bitte php56w-deval, um es zu installieren.
Installation
Nachdem der phpize-Befehl ausgeführt wurde, werden viele Dateien im Verzeichnis generiert, einschließlich configure und Andere gemeinsame Dateien, die wir Um die Standarddatei der Anwendung über den Quellcode unter Linux zu installieren, führen Sie die folgenden Befehle nacheinander aus:
$ ./configure $ make && make install
Im Allgemeinen werden Sie hier auf ein Problem stoßen , und Sie werden beim Erstellen aufgefordert In der Datei pdo_oci.c:
pdo_oci.c:34: error: expected ‘=', ‘,', ‘;', ‘asm' or ‘attribute' before ‘pdo_oci_functions'
Die Lösung besteht darin, Zeile 34 der Datei pdo_oci.c zu ändern. Ändern Sie function_entry in zend_function_entry, speichern Sie es und erstellen Sie es erneut. Das war's.
Ini-Datei erstellen
Nach Erfolg wird angezeigt, dass sie sich bereits in /usr/lib64/ befindet. php/modules-Verzeichnis Das Modul pdo_oci.so wird generiert. Wir müssen PHP lediglich mitteilen, dass wir auf dieses Modul verweisen möchten.
Erstellen Sie eine neue INI-Datei im Verzeichnis /etc/php.d: pdo_oci.ini, Inhalt:
extension=pdo_oci.so
Hier klicken , Das pdo_oci-Modul ist installiert und wir können es über php -m grep oci anzeigen.
OCI8 installieren
Der nächste Schritt ist die Installation des oci8-Moduls.
Herunterladen und dekomprimieren
Führen Sie die folgenden Befehle in der Befehlszeile nacheinander aus:
$ wget https://pecl.php.net/get/oci8-2.0.8.tgz $ tar -xvf oci8-2.0.8.tgz $ cd oci8-2.0.8
Kompilieren und installieren
Die Schritte ähneln denen von pdo_oci oben:
$ phpize $ ./configure --with-oci8=shared $ make && make install
Ini-Datei erstellen
Auf ähnliche Weise erstellen wir sie im Verzeichnis /etc/php.d oci8.ini, Inhalt:
extension=oci8.so
Apache neu starten
Nicht Vergessen Sie den Neustart. Gehen Sie zum Apache-Server, um das PHP-Modul neu zu laden:
$ service httpd restart
Wir können eine test.php-Datei im Website-Verzeichnis erstellen lautet:
<?php phpinfo();
Dann gehen wir zur Seite, um die gedruckten PHPInfo-Informationen zu überprüfen, und überprüfen die relevanten Informationen der Module pdo, pdo_oci und oci8.
Zusammenfassung
Referenzen und Danksagungen
php5.3-Kunden, die eine Verbindung zu Oracle herstellen Terminal und pdo_oci-Modul installieren
Installieren der PHP-Erweiterungen PDO_OCI und OCI8 unter CentOS 6.4 64bit
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie PHP PDO verwendet, um auf die Oracle-Datenbank zuzugreifen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!