Oracle 11.1.0.7 und WAMP oci_connect Fehler
Ich versuche zu konfigurieren, eine einfache Verbindung zwischen meinem lokalen WAMP-server und einige Oracle 11.1.0.7, die ich habe.
Anscheinend PHP hat alle Arten von Lösungen und Magie Situationen, in denen es scheitert, zu starten.
Ich bin mit den neuesten 32-bit-version von WAMP (ich bin es heute nochmal genau überprüfen)
Die db-Maschine ist auch 32bit, nicht lokale
hier sind meine versuche in Verbindung zu der Datenbank herstellen, jedesmal bekam ich die gleiche Fehlermeldung :
$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = some.ip.addr)(PORT = 1521)))(CONNECT_DATA=(SID=somesid)))";
//$link = oci_connect('sqlmap', 'sqlmap', 'some.ip.addr') OR die('oci_connect' . print_r(oci_error()));
//$link = oci_connect('sqlmap', 'sqlmap', $db) OR die('oci_connect error' . print_r(oci_error()));
//$link = oci_connect('sqlmap','sqlmap', 'some.ip.addr/somesid') or die('<= oci_connect ' . print_r(oci_error()));
//$link = oci_connect('sqlmap','sqlmap', '//some.ip.addr/somesid') or die('<= oci_connect ' . print_r(oci_error()));
$link = oci_connect('sqlmap','sqlmap', '//some.ip.addr/somesid');
Warning: oci_connect() [function.oci-connect]: ORA-24315: illegal attribute type in
Array ( [code] => 24315 [message] => ORA-24315: illegal attribute type [offset] => 0 [sqltext] => ) oci_connect1
Einige weitere Informationen über OCI
OCI8 Support enabled
Version 1.4.7
Revision $Revision: 321634 $
Active Persistent Connections 0
Active Connections 0
Oracle Run-time Client Library Version 10.2.0.1.0
Oracle Instant Client Version 11.2
Temporary Lob support enabled
Collections support enabled
Directive Local Value Master Value
oci8.connection_class no value no value
oci8.default_prefetch 100 100
oci8.events Off Off
oci8.max_persistent -1 -1
oci8.old_oci_close_semantics Off Off
oci8.persistent_timeout -1 -1
oci8.ping_interval 60 60
oci8.privileged_connect Off Off
oci8.statement_cache_size 20 20
Apache Version :
2.2.21
PHP Version :
5.3.9
Ich würde gern, wenn jemand könnte Tipp, was ich vielleicht fehlt
- Zumindest die syntax sieht gut aus. Was sind deine PHP-und Instant-Client-Versionen?
- Apache Version : 2.2.21 PHP-Version : 5.3.9
- Um ehrlich zu sein, ich bin mir nicht sicher, von Ihrem problem. Die PHP-binaries (zumindest die offiziellen) kommen Sie mit zwei Versionen der OCI8-extension: "Oracle (10)" und "Oracle (11g)". Sie haben eine aktuelle version von Instant Client (11.2), so ist es möglich, dass Sie fehlen die "Oracle (11g)" - DLL. Bedeutet, dass WAMP-Paket bieten Ihnen eine Auswahl von PHP-Erweiterungen?
- es hat eine option zu wählen, oci8 und oci8 für 11 , ich entschied mich für beide, vielleicht PHP lädt die erste ? Ich werde sofort wieder die config und siehe
- Ich habe versucht connectig lokal auf meinem 10g XE offenbar, es funktioniert. Vielleicht brauche ich, um fetch verschiedenen OCI-libs ? wenn ja, von wo? und welchen Pfad (und wo) soll ich das konfigurieren ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ansehen Ihrer Konfiguration, müssen Sie sowohl den Oracle-Client und dem Oracle Instant Client installiert:
Aber meine Erfahrung ist, dass PHP nur eine oder die andere - im Grunde, je nachdem, welcher Satz von Bibliotheken gefunden wird zuerst verwendet.
Da können Sie die Verbindung in Ordnung zu Oracle 10g, aber nicht bis 11g, deuten darauf hin, dass der 10g-Client-Bibliothek ist "höher" in Ihrem Pfad, als der Instant-Client-Bibliotheken.
Beiden Optionen würde ich vorschlagen, zu entdecken:
Hab ich eigentlich noch nie bekommen PHP, um korrekt zu arbeiten mit dem Instant-Client - gab ich auf und installiert den full client - also meine persönliche Empfehlung ist option 1, aber wenn das nicht praktisch in Ihrer Umgebung, die Arbeit mit dem PFAD zuerst.
3.1 download "Instant Client Package - Basic: Alle erforderlichen Dateien zum ausführen von OCI, OCCI, und die JDBC-OCI-Anwendungen: instantclient-basic-win32-11.1.0.7.0.zip"
3.2 laden "*Instant Client Package - SDK: Zusätzliche header-Dateien und Beispiel-makefile für die Entwicklung von Oracle-Anwendungen mit Instant Client: instantclient-sdk-win32-11.1.0.7.0.zip"
3.4 entpacken der beiden zip in den gleichen Ordner, werden Sie sehen SDK in den Ordner von instantclient_11 nach ausgepackt; bis hier OK!