PHP starten über .bat
Michimu
- php
Hallo,
versuche schon seit einiger Zeit ein PHP über eine .bat-Datei zu starten bzw. versuche ich mich da erstmal zu informieren und experementiere noch. Habe schon einige Einträge hier und auch wo anders wo gelesen, aber werde daraus einfach nicht schlau.
Daher einfach nochmal meine Frage: Wie kann ich über eine .bat-Datei ein PHP starten. Es werden auch keine Parameter erwartet im php.
Könnt Ihr mir bitte weiter helfen ?
Danke,,,,,
Michimu
Hallo Michimu,
versuche schon seit einiger Zeit ein PHP über eine .bat-Datei zu starten bzw. versuche ich mich da erstmal zu informieren und experementiere noch. Habe schon einige Einträge hier und auch wo anders wo gelesen, aber werde daraus einfach nicht schlau.
Ich nehme an, dass Du eine Windows Version im Einsatz hast. Welche?
Ich nehme an, dass Du PHP installiert hast. Welche Version genau? Du solltest mindestens PHP 4.3.0 im Einsatz haben (ok, ich weiß, dass es CLI bereits bei 4.2.0 gab), siehe http://www.php.net/manual/de/features.commandline.php.
Hast Du das CLI auch installiert? Ich weiß, dass es bei diversen Komplettpaketen für Windows fehlt.
Oben angeführter Link hilft Dir auch sonst weiter
Daher einfach nochmal meine Frage: Wie kann ich über eine .bat-Datei ein PHP starten. Es werden auch keine Parameter erwartet im php.
Annahme: Windows XP
PHP: 4.3.x, installiert nach C:\PHP\
php.exe (CLI-Version) liegt in C:\PHP\CLI\php.exe
Das Verzeichnis C:\PHP\CLI ist nicht in der Umgebungsvariable PATH enthalten
Dein Skript heißt deinskript.php und liegt in D:\Skripte\PHP\deinskript.php
1. Du kannst eine Batchdatei schreiben, die genau mit Deinem Skript funktioniert:
Name der Datei: ein_aussagekraeftiger_name.bat oder ein_aussagekraeftiger_name.cmd
Inhalt:
REM Aufruf in der naechsten Zeile startet das PHP-Skript
C:\PHP\CLI\php.exe D:\Skripte\PHP\deinskript.php
REM Das war es schon
Aufruf: ein_aussagekreaeftiger_name
Wenn diese Version läuft, wagst Du Dich an die nächstschwierigere Variante:
2. Du kannst eine Batchdatei schreiben, die mit allen Skripten funktioniert
Inhalt:
C:\PHP\CLI\php.exe %1
Aufruf bei dieser Lösung mit
ein_aussagekraeftiger_name D:\Skripte\PHP\deinskript.php
Anmerkung: Selbstverständlich solltest Du als sorgfältiger Entwickler bei der zweiten Version eine Fehlerbehandlung einbauen:
Freundliche Grüsse,
Vinzenz
Vinzenz
Hallo :-)
also ich habe Windows 2000 Proj mit Apache 2.0.48.
Unter php/cli ist eine php.exe Datei vorhanden :-)
REM Aufruf in der naechsten Zeile startet das PHP-Skript
C:\PHP\CLI\php.exe D:\Skripte\PHP\deinskript.phpREM Das war es schon
Habe mal deine Schritter nachgemacht und erhalte dann folgende Fehlermeldung:
Der Prozedureinsprungspunkt "zend_uv" wurde in der dll "php4ts.dll" nicht gefunden.
!! Danach wird es abgebrochen.
Was ist das jetzt wieder :-) ??
Michimu
Verstehe das nicht, die "php4ts.dll" datei ist aber vorhanden.
Hallo Michimu,
also ich habe Windows 2000 Proj mit Apache 2.0.48.
Die apache-Version ist ausnahmsweise einmal völlig überflüssig, wichtiger ist die Version von PHP. Diese ist vom apache prinzipiell gesehen unabhängig.
Vergiss nicht, Du verwendest die Kommandozeilenversion (CLI steht für Command Line Interpreter), das ist etwas anderes als die in den Webserver eingebundene PHP-Version (CGI oder Modul)
Unter php/cli ist eine php.exe Datei vorhanden :-)
Das ist schon einmal erfreulich. Gibt es in diesem Verzeichnis auch eine php4ts.dll?
Der Prozedureinsprungspunkt "zend_uv" wurde in der dll "php4ts.dll" nicht gefunden.
!! Danach wird es abgebrochen.
Was ist das jetzt wieder :-) ??
Sieht so aus, als passe Deine ph4ts.dll nicht zur php.exe.
Bitte überprüfe, ob im gleichen Verzeichnis wie php.exe auch eine php4ts.dll vorhanden ist.
Am besten suchst Du mit der Suchen-Funktion des Explorers nach _allen_ Vorkommen dieser DLL, das ist übrigens eine Programmbibliothek.
Falls mehrere vorkommen, ermittle von jeder die Versionsnummer, z.B. über Rechtsklick auf die Datei, Eigenschaften, Registerkarte Version. Sind alle identisch? Du benötigst genau die, die zu Deiner php.exe passt. Möglicherweise gibt es im Suchpfad eine andere Version, die nicht zu Deiner php.exe passt.
Freundliche Grüsse,
Vinzenz
:-)))
Es klappt ... mußte jedoch noch die php4ts.dll und noch eine andere Printer.dll in das gleich eVerzeichnis kopieren und schon hat es funktioniert....
DANKE... vielmals danke...
Michimu