Mailinglisten-Archive |
Moin,moin liebe Liste nach langem Ringen ist es mir nun endlich gelungen mit dem 'Monster' namens Oracle die ersten Streicheleinheiten auszutauschen. Moeglich war es nur weil es fuer uns Windowssympathisanten unter www.php4win.de ein kompilat mir vielen Modulen fuer die ganzen PHP Varianten gibt :)! War es unter Linux ein leichtes artete es unter Windows zu einer nicht enden wollenden Geschichte aus. Da es aber mit PHP3 auf Anhieb klappte und laut unbestaettigten Geruechten es auch schon einige andere mit PHP4 geschafft hatten gab ich die Hoffnung nicht auf. Probiert hab ich auf einem Schlepptop unter NT WKS 4.0 SP5. Als Webserver kam der IIS4.0(Begruendung siehe unten) aus dem NT OptionPack 4.0 zum Einsatz. Probiert wurde mit dem 'php4.0.2-dev with apache module [cvs: 2000-08-16] + php4.0.2-dev maintenance zip for [cvs: 2000-08-16] only!' Package. Als Oracleclient diente der von der Oracle 8.0.4.0 CD. Das neuste was wir im Hause gehabt haetten waere 8.0.5.0.0 gewesen und ich bezweifle das man bei Oracle nen Client ueber deren Webseiten downlöoaden kann. Wenn man sich deren Performance anschaut koennte man meinen deren Server sind mittels eines Klingeldrahtes ans Netz angebunden. Nach dem einrichten war war es kein Probs mittels sqlplus an oracle zu connecten. Dann wurde ueber die 'Systemsteuerung | System | Umgebung' folgende Variablen angelegt: - NLS_LANG = GERMAN_GERMANY.WE8ISO8859P1 - ORACLE_SID = ORCL - ORACLE_HOME = d:\Orant Diese Angaben sind dann in der phpinfo() Ausgabe (nur IIS!!) unter Environment zusehen. Das installieren von php4 war ansich kein Problem bis auf den Standort der php.ini Datei !. Waehrend Funktioniert = IIS+ISAPI + <%windir%/system32> Funktioniert = Apache+mod_php + <%windir%/system32> Funktioniert = Apache+CGI-PHP + c:\php4 // Installverzeichis von PHP4 klappte, ging folgendes nicht: Funktioniert NICHT = IIS+CGI-PHP. Fuer diese Kombi habe ich keinen Standort gefunden. Und ohne php.ini lies sich natuerlich kein Modul aktivieren. Bis dato war ich immer der Meinung ein guter Platz fuer die php.ini waere im <%windir> Verzeichnis. Generationen von PHP3 Installationen waren so gluecklich. Dem war hier definitiv nicht so! Das einbinden des ISAPI Modul lief wie der README beschrieben und sollte dank 'KlickiBuntiInterface' des InternetDienstManager kein Problem darstellen. Das neustarten (gerade wer spaeter an der php.ini fummelt) ging ueber das Interface nicht zufrieden stellend. Sicher geht der jenige der mittels Konsole 'net stop iisadmin' und 'net start w3svc' bzw. den Rechner Rebootet. Aktiviert wurde NUR die php_oci8.dll um andere Fehlerquellen zuminimieren sowie ein paar Anpassungen errorlog, extension_dir .. das uebliche halt. Leider interessierte sich der Apache nicht fuer das Environment :( Ein einfuegen von 'SetEnv ORACLE_SID ORCL'(usw.)im Abschnitt 'Main Configuration' in die httpd.conf aenderte zwar diesen Sachverhalt, zeigte aber keine Auswirkungen auf den Oracleconnect ' Fehler: Kann TNS Names nicht aufloesen (so oder aehnlich)'. Somit blieb letztendlich nur der IIS+ISAPI ueber. Mit folgendem Script klappte dann die 'Streicheleinheiten': <?php // Connectparameter $usr = "user"; $passwd = "passwort"; $tns = "ora-2"; echo "<br>"; echo date("d.m.Y ,H:i:s"); $con = ocilogon($usr,$passwd,$tns); echo "<br>$con<br>"; $query = "select * from vi_zeichnung where bearbeiter = 'beh'"; $stmt = ociparse($con,$query); ociexecute($stmt); // Ausgabe echo "<pre>"; for($i=1;ocifetchinto($stmt,$result);$i++) { echo "Nr. $i<br>"; while(list($k,$v)=each($result)) { echo "$k => $v\n"; } echo "<br>\n"; flush(); } echo "</pre>"; ?> Beim Arbeiten mit dem IIS+IASPI erscheint sehr haufig die Meldung 'Prozeduraufruf schlug fehl' im Browserfenster. Ein klick auf Reload im Browser behob das Problem immer. Das ein oder andere Mal legte er sich dann aber ganz quer und meldete 'Servererror'. Hier half dann nur der Neustart des Webservers ueber die Konsole. Mein Dank geht nun an die 'Rasselbande' fuer das Windowskompilat und an alle die sich noch so angesprochen fuehlen. Gruss Joerg <der sich schon auf eine php_oracle.dll freut> Behrens ps: Andreas und Daniel, sollte ich mich doch dazu durchringen nach Koeln zukommen wuerde ich mich freuen mich an der Zeche beteiligen zukoennen. Das schroepft den jungen blonden norddeutschen Jung dann auch nicht so :) Und ob Koelsch,Pils oder beer.. Hauptsache es schauemt !:) -- Key fingerprint = 92 7D E0 A6 CF AE EC 32 14 28 EF 0D 57 2A 88 5B ---------------------------------------------------------------------- TakeNet GmbH Mobil: 0171/60 57 963 D-97080 Wuerzburg Tel: +49 931 903-2243 Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
php::bar PHP Wiki - Listenarchive