Ich versuche eine Webanwendung zu entwickeln, die sich mit so vielen verschiedenen Datenbanken wie möglich in PHP verbinden kann. PDO (http://www.php.net/manual/en/book.pdo.php) scheint die richtige Schnittstelle dafür zu sein, aber ich habe Probleme, alle Erweiterungen zu installieren, die für die verschiedenen PDO Datenbanktreiber benötigt werden, die ich brauche.PHP PDO Installation unter Windows (xampp)
Bitte beachten Sie, dass ich xampp auf einem Windows 7-Rechner verwende. PHP Version 5.3.8. PDO-Treiber aktiviert mysql, odbc, sqlite, sqlite2, sqlsrv.
Ich habe erfolgreich verbunden mit den folgenden:
- MySQL mit PDO_MYSQL [MySQL (gU)] (Verlängerung schien auf xampp standardmäßig installiert werden)
- Microsoft SQL Server Verwendung PDO_SQLSRV [MS SQL Server (PDO)] (folgte den Anweisungen auf http://craigballinger.com/blog/2011/08/usin-php-5-3-with-mssql-pdo-on-windows/)
ich hatte kein Glück Montage oder beim Anschluss mit:
- (GELÖST siehe unten UPDATES) Sybase (Ich habe versucht pdo_dblib [MS SQL Server (PDO)] zu bedienen und installieren, aber ohne Glück)
- (GELÖST siehe unten UPDATES) Oracle (ich versuchte, die extension = php_pdo_oci.dll in php.ini mit der dLL zu ermöglichen, die mit xampp nach dem Neustart Apache der Server installiert wurde nicht gestartet werden konnte. Versuchte pdo_oci [Oracle (PDO)])
Ich weiß, dass ich mit der Verwendung der Datenbank-spezifische Treiber um diese 2 arbeiten können zu verwenden, aber ich würde wirklich gerne PDO verwenden für alles, was ich brauche.
Wer weiß, wie pdo_dblib und pdo_oci Treiber oder ein Windows-Computer oder irgendeine andere Art und Weise der Verbindung mit Sybase und Oracle-Datenbanken unter Verwendung von PDO installieren und aktivieren?
UPDATE
gerade erfolgreich mit Orakel verbunden mit pdo_oci. Was Sie tun müssen, ist die folgende:
Laden und installieren Sie die richtige Oracle Instant Client auf Ihrem Windows-Rechner für Beispiel instantclient_12_1 und fügen Sie den Weg zu PATH in SYSTEM Umgebungsvariablen. Hinweis: Oracle unterstützt nur 2 Versionen. Wählen Sie daher Ihre Clientversion ordnungsgemäß aus. Mach das und starte dann deinen Apache neu.Beachten Sie, dass die Verbindungszeichenfolge von hier sehr unterschiedlich ist, ist ein Beispiel, was ich verwendet:
$tns = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ".$myServer.")(PORT = 1521)))(CONNECT_DATA=(SID=".$myDB.")))";
$connStr = "oci:dbname=".$tns;
$conn = new PDO($connStr,$myUser,$myPass);
UPDATE
Gerade verbunden mit Sybase als auch mit PDO_ODBC. Was Sie brauchen, ist folgendes:
Muss Sybase ASE ODBC-Treiber, der mit dem SDK kommt. Unten finden Sie die Verbindungszeichenfolge verwendet:
$connStr = "odbc:Driver={Adaptive Server Enterprise};server=".$myServer.";port=".$myPort.";db=".$myDB;
$conn = new PDO($connStr,$myUser,$myPass);
Darf ich fragen * warum * wollen Sie zu so vielen verschiedenen Datenbanken wie möglich verbinden? –
sicher, versuche ich Informationen von verschiedenen Systemen zu sammeln, um an einem Ort angezeigt zu werden. Art wie ein Portal, um Fehlertabellen und einige Statistiken zu überwachen. – Constantinos
Aktualisiert meine Post mit der Lösung für die Verbindung mit Oracle und PDO_OCI. Wenn jemand auch eine Lösung für Sybase hat, lassen Sie es uns bitte wissen – Constantinos