Ich versuche, ein PHP-Skript alle 30 Minuten auf meinem Server laufen zu lassen (Win XP SP3, xampp 1.7.3). Dazu führe ich das folgende Skript (update.cmd) mit dem MS Task Scheduler
aus %Vor%Ich verwende die oci8 php-Erweiterung auf meinem Webserver, aber wenn ich dieses Skript ausführe, gibt es mir Fehler, dass php.exe die notwendige DLL für die oci8-Erweiterung nicht finden kann. Ich bekomme folgende Fehler:
This application has failed to start because OCI.dll was not found. Re-installing the application may fix this problem.
PHP Start: Dynamische Bibliothek konnte nicht geladen werden 'C: \ xampp \ php \ ext \ php_oci8.dll' - Die angegebene Modulanzahl wurde nicht gefunden.
Ich weiß, dass die Datei da ist und ich bekomme diese Fehler nicht, wenn der PHP durch Apache läuft, führe ich die falsche Kopie von php.exe aus? Irgendwelche Ideen warum nicht? Muss mein PATH anders eingestellt sein? Mein Windows PATH enthält:
C:\instantclient_11_2;C:\oracle\ora92\bin;C:\Program Files\Oracle\jre.3.1\bin;C:\Program Files\Oracle\jre.1.8\bin;C:\Program Files\ActiveState Komodo Edit 5\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Altiris\Software Virtualization Agent\
Danke für Ihre Hilfe.
Ich habe das Problem auf eine Art gelöst, indem ich das Skript geändert habe. Es ist jetzt:
C:\xampp\PHP\php.exe -f C:\xampp\htdocs\php_scripts\utils\update_dashboard.php
Danke für die Hilfe.
Ich habe dieses Problem gefunden, wenn ich von php 5.3 nicht threadsicher auf php 5.3 thread sicher auf Windows 7 umschalte und alles installiert habe
Ich habe das Problem behoben, indem ich extension = php_oci8.dll, extension = php_oci8_11g.dll, extension = php_pdo_oci.dll in der php.ini
auskommentiert habeIch hatte auch Probleme mit der Sybase-Erweiterung wollte eine libcs.dll, die ich gelöst habe durch Entfernen von "extension = php_sybase_ct.dll"
zB
%Vor%Vermutlich, wenn Sie Sybase- und Oracle-Datenbankverbindungen benötigen, installieren die Standardclients oci.dll und libcs.dll an den entsprechenden Stellen, für alle anderen, die diese dbs nicht benötigen, deaktivieren Sie einfach die php-Erweiterungen und es sollte laufen gut:)
Ant
Überprüfen Sie die php.ini-Datei, die php verwendet, indem Sie eine phpinfo () von der Befehlszeile aus ausführen und nachsehen, welche Erweiterungen in dieser Datei aktiviert sind. Es ist durchaus notwendig, dass php so eingestellt wird, dass es eine andere php.ini-Datei verwendet, wenn es über die Befehlszeile ausgeführt wird. und xampp verwendet standardmäßig eine andere php.ini-Datei. Sie können ihm auch sagen, welche Datei php.ini mit der Option -c verwenden soll
Ich habe den Befehl php -m ausgeführt. Es stellte sich heraus, dass die OCI.dll meines Systems korrupt oder fehlend war. Ich habe es wiederhergestellt, indem ich sfc / scannow in der run-Box ausgeführt habe, neu gestartet habe, das System neu installiert habe und es lief und lief mit meinen Erweiterungen jetzt alles.
Stimmt es, dass sowohl C:\instantclient_11_2
als auch C:\oracle\ora92\bin
eine OCI.DLL
enthalten? Wegen der Reihenfolge des Pfades laden Sie möglicherweise die falsche DLL. Wenn ich Welche OCI8 DLL in PHP 5.3 verwenden soll , benötigt man eine andere Zeile im PHP. ini abhängig von der Version des Oracle-Clients. Ich habe derzeit keinen Zugang zu einem PC mit Orakel, also kann ich das nicht bestätigen.
Tags und Links php batch-file xampp