OCI unter Windows

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

OCI unter Windows

Postby Alexander Franz » 13. October 2006 15:56

Hallo,

ich weiß, es ist eine FAQ, aber leider finde ich auch mit der Suche keine Antwort. Ich versuche, mit einem XAMPP 1.5.4a von PHP aus auf Oracle zuzugreifen, bekomme aber

Fatal error: Call to undefined function OCILogon() in D:\Programme\xampp\htdocs\xampp\msp.php on line 16

im Browser und

PHP Warning: PHP Startup: Unable to load dynamic library 'd:\\Programme\\xampp\\php\\ext\\php_oci8.dll' - Die angegebene Prozedur wurde nicht gefunden.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'php_pdo_oci8.dll' in Unknown on line 0

Die entsprechenden Zeile in der php.ini hab ich reinkommentiert, ein lokales Oracle 9.2 ist installiert und hat Zugriff auf den Server. Und das Environment ist auch OK.

Kann man das irgendwie tiefer debuggen?
Alexander Franz
 
Posts: 5
Joined: 13. October 2006 15:27

Postby Wiedmann » 13. October 2006 16:09

Erstmal ein paar grundsätzliche Fragen:
Call to undefined function OCILogon()
...
Unable to load dynamic library 'd:\\Programme\\xampp\\php\\ext\\php_oci8.dll'
...
Unable to load dynamic Invalid library (maybe not a PHP library) 'php_pdo_oci8.dll'

Welche Extension möchtest du jetzt benutzen von den 2? (OCILogon() gehört jedenfalls zur OCI8-Extension)

Und das Environment ist auch OK.

Damit meinst du was? PHP muss jedenfalls in der Lage sein, die Oracle-Client-DLLs zu finden. (Das Verzeichnis wo die drin sind, muss im System-PATH sein)

Anonsten, gerade wenn es um die OCI8-Extension geht, gibt es bei PECL noch ein paar andere Versionen zur Auswahl (durchprobieren). Nicht jede Version passt zu genau deinem Oralce-Client.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Alexander Franz » 16. October 2006 07:42

Welche Extension möchtest du jetzt benutzen von den 2? (OCILogon() gehört jedenfalls zur OCI8-Extension)

OK, das hab ich begriffen - php_pdo_oci8.dll gehört nicht zur erstgenannten.


Und das Environment ist auch OK.


Damit meinst du was?

Damit meinte ich, daß alle IMHO erforderlichen Umgebungsvariablen (ORACLE_HOME,PATH,...) funktionstüchtige Werte haben.

Anonsten, gerade wenn es um die OCI8-Extension geht, gibt es bei PECL noch ein paar andere Versionen zur Auswahl (durchprobieren). Nicht jede Version passt zu genau deinem Oralce-Client.


Naja,
Alexander Franz
 
Posts: 5
Joined: 13. October 2006 15:27

Postby Marco M. » 16. October 2006 10:14

hallo,

der fehler liegt nicht bei dir, mit d. xamp 1.5.2 solltest du oci zum laufen bekommen. das aktualisieren der php_oci8.dll (http://pecl4win.php.net/ext.php/php_oci8.dll) hat leider nicht zum erfolg geführt!

siehe: http://community.apachefriends.org/f/viewtopi ... 6ce659b8b0

ps.: ab und zu mal die suchfunktion des forums nutzen!

mfg

marco manngatter
User avatar
Marco M.
 
Posts: 23
Joined: 04. October 2006 15:09
Location: nähe leipzig

Postby Alexander Franz » 20. October 2006 09:45

OK, ich geb es auf.

Beliebige Kombinationen von xampp 1.5.1, 1.5.2, 1.5.3, 1.5.4a mit lokalen Oracle-Installationen von 9.2 bis 10g (und php_oci8.dll getrennt upgedatet) sind unter Windows (2k) nicht zum Laufen zu bringen.

Die Fehlerbilder reichen von undefined function über Loader-Fehler beim Apache-Start bis zu kommentarlosen Schutzverletzungen im betreffenden Apache-Thread.

Ich bohr' jetzt das dünne Brett und mache ODBC.
Alexander Franz
 
Posts: 5
Joined: 13. October 2006 15:27

Postby Marco M. » 20. October 2006 10:09

ich habe es mit winxp(sp2) und dem xampplite 1.5.2 ohne probleme zum laufen bekommen.(neuere version habe ich auch nicht zum laufen bekommen)

ich habe nur den oracle 9.2.0.6 client
und im path hab ich die folgenden angeben gemacht:

C:\dein_verzeichnis\Ora920\bin
C:\dein_verzeichnis\Ora920\jre\1.4.2\bin\client;
C:\dein_verzeichnis\Ora920\jre\1.4.2\bin

dann einfach nur in der php.ini den kommentar( ; ) vor php_oci8.dll entfernt.

Achtung!!! wichtig ist, dass du nach der xampp installation den rechner neu startest, denn sonst bekommt man die verbindung zu oracle aus irgendeinen grund nicht zum laufen. (windows ist halt nen s c h e i ß betriebssystem! ! ! !)

zummindest war das bei mir der fall!
falls es wieder nicht klappt, einfach mal nen screenshot mit der fehlermeldung mit ins forum schmeißen!


viel erfolg + geduld

marco manngatter
User avatar
Marco M.
 
Posts: 23
Joined: 04. October 2006 15:09
Location: nähe leipzig

Re: OCI unter Windows

Postby GeraldR63 » 31. October 2006 23:35

Hallo,

ich hatte dieses Problem ebenfalls aber in einem anderen Zusammenhang.

Grundsätzlich ist es so, daß PHP die OCI DLL nicht findet. Wenn Du alles lt. Anleitung richtig gemacht hast, dann kann allerdings noch folgendes falsch sein:

httpd.conf
Der Pfad auf die php.ini enthält Sonderzeichen, Leerzeichen etc.. Ich lege den Pfad unter Windows daher auf das Windows Verzeichnis C:\WINDOWS und lege dort die PHP.INI ab.


Wenn alles richtig ist, dann liefert Dir das folgende PHP Programm die gewünschten Werte inklusive der richtigen OCI Konfiguration.

====phpinfo.pl Anfang. Irjenzwo in WWW Verzeichnis ablegen
<?PHP
phpinfo();
PHP?>
====phpinfo.pl Ende


Wenn die falsche php.ini angezeigt wird und keine OCI Sektion, dann kannst Du darüber nachdenken ob PHP richtig installiert und konfiguriert ist.


hope it helps

Gerald
GeraldR63
 
Posts: 1
Joined: 31. October 2006 14:19

Postby Alexander Franz » 16. November 2006 10:53

Für alle, die noch an der Auflösung meines unfreiwilligen Rätsels grübeln:

Wenn euch irgendjemand (z.B. vielfältige PHP-Literatur) erzählen will, daß ocilogon() ein Alias von oci_connect() wäre, dann glaubt ihnen nicht!
Alexander Franz
 
Posts: 5
Joined: 13. October 2006 15:27


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 40 guests