2012-03-26 6 views
4


ich einen PHP-Skript geschrieben, das auf dem PHP-Interpreter ausgeführt werden muss (ohne Apache), die die adodb Bibliothek mit einer Oracle-Datenbank verwendet, aber wenn ich versuche es, mich zu laufen sind die folgenden Fehler erhalten:

PHP-Interpreter wird undefined konstant OCI_COMMIT_ON_SUCCESS mit ADODB

PHP Notice: Use of undefined constant OCI_COMMIT_ON_SUCCESS - assumed 'OCI_COMMIT_ON_SUCCESS' in c:\proyect\backend\libraries\adodb\adodb.inc.php on line 4248 


ich eingecheckt habe, und haben sowohl die php_oci8 und php_oci8_11g aktiviert ist, so sollte die konstante definiert werden. Wenn ich dieses Skript MIT Apache ausführe, funktioniert es auch ohne irgendwelche Probleme.

Vielen Dank im Voraus!

Antwort

8

Nach einer schnellen Suche fand ich this page. Wenn die Oracle-Erweiterung in Ihrer php.ini nicht aktiviert ist, ist die Konstante nicht definiert. Versuchen Sie nach der Zeile

;extension=php_oci8.dll 

in Ihrer php.ini zu suchen und entfernen Sie das Semikolon, um es auskommentieren. Starten Sie dann Apache neu, um das Modul zu laden und festzustellen, ob es sich verbindet.

EDIT:

Versuchen Sie, die php.ini Variablen Dumping durch so etwas wie print_r(ini_get_all()) tun und sehen, was festgelegt ist und was nicht ist. Möglicherweise verwenden Sie eine andere php.ini für die Befehlszeile.

+0

Wie mein Post sagt, habe ich beide Erweiterungen aktiviert. Das Problem kam, als ich versuchte, den Interpreter über die Konsole zu verwenden. – adiego73

+0

versuchen Sie, die php.ini-Variablen zu entladen, indem Sie etwas wie 'print_r (ini_get_all())' machen und sehen, was gesetzt ist und was nicht. Möglicherweise verwenden Sie eine andere php.ini für die Befehlszeile. –

+0

Meine vollständige Antwort :) Wie mein Beitrag sagt, habe ich beide Erweiterungen aktiviert. Das Problem kam, wenn ich den Interpreter über die Konsole verwende. Aber ich merkte, dass der PHP-Interpreter über die Konsole eine andere php.ini benutzte, also waren die Erweiterungen ja deaktiviert. Danke! – adiego73

1

Ich hatte Probleme mit Wamp mit 32-Bit und 64-Bit. Ich musste den 32-Bit-Oracle-Thin-Client mit 32-Bit-WAMP-Server verwenden, damit er richtig funktionierte.