![]() |
apache&win: php skript periodisch starten
hi !
ich suche gerade nach einer möglichkeit, den apache dazu zu bringen, ein bestimmtes php-scirpt periodisch z.B. alle 2 stunden automatisch tu starten. Das script liest daten aus einer DB, die laufend angeliefert werden und macht dann daruaf basierend etwas. unter unix gibt's dafür ja einen sog. "cronjob" deamon, bei dem man eintragen kann, was er zu welcher zeit machen soll. Wisst ihr eine Möglichkeit wie man soetwas mit Win 2000 & apache & php elegant lösen kann ? 1. Überlgung wäre: php als interpreter (die php.exe) von winat aus starten und das script als parameter übergeben, aber gibts da nicht was "schöneres" ? fg -hannes |
?????
Apache ist ein Webserver, er reagiert auf eintreffende Request und nicht auf zeitliche Events. PHP ist eine "nette" Sprache fuer interaktive WebßApplikationen, aber fuer Batch-Bearbeitung ?????? IMHO willst Du Dir a) die "Geplanten Tasks" anschauen. Das ist ein "Cron fuer Arme" unter Windows b) Eine andere Sprache als PHP fuer Scripts anschauen, die auf der Kommandzeile laufen. Perl waere hier IMNSHO zu empfehlen. :) |
PHP läuft auch auf der Kommandozeile :p
SCNR |
Re: apache&win: php skript periodisch starten
Zitat:
sicher gibt es sowas auch unter win, ist aber nicht wirklich zuverlässig. am besten du baust einen countdown unter php :D runterzählen sollte ja immer möglich sein, egal welcher interpreter :( |
Zitat:
Genau so "toll" wie unter IIS? :lol: |
Re: Re: apache&win: php skript periodisch starten
Zitat:
a) immer ein Browserfenster auf, um das Script laufen zu lassen? b) checkt, dass der IE, in dem die zum Script gehoerige Website laeuft, nicht abstuerzt? "The right tool for the right job". Und IMNSHO sind Apache und PHP fuer diese Aufgabe nicht das geeignete Werkzeug. |
Zitat:
:rolleyes: Vielleicht solltest du mal dein Defizit an Wissen über PHP etwas reduzieren. :p </flame> ~ |
Zitat:
/me holt seinen Asbestanzug |
:motz: :mad2:
Ach ja? :lol: Wären wir also wieder beim Thema :D Dann übersiehst' wohl schon aus Betriebsblindheit wie sch* eigentlich Perl ist, hä? ;) :p :hehe: ~ |
Zitat:
Ich habe noch nichts gefunden, was in PHP eleganter ginge, als in Perl. Umgekehrt schon. |
Zitat:
Die Beweise für deine jedesmal sachlichen Argumente pro Perl / contra PHP bleiben wohl wie immer wieder aus... :p Wenn du PHP als eine Art Perl bezeichnest kommt mir das grausen... Und komm' mir ja nicht wieder mit dem Sch*, dass PHP aus Perl hervorgeht... Wir haben 2003! ;) Zitat:
~ |
Beweise?
1) Fuer jede unterstuetzte Datenbank ein eigenes Modul anstatt einer eleganten Abstraktionsschicht? Ja klar, es gibt jede menge ZUSAETZLICHER Module, aber wie gut sind die? DBI/DBD von Perl sind erprobt, funken gut, ... - ich hab unter PHP noc nix vergleichbares und eleganteres gesehen. 2) Regular Expresions Braucht man in einer textbasierten Welt (HTML, XML, ...) wie einen Bissen Brot. Unter PHP brauch ich eine eigene Funktionen dafuer, kann die RegExen nicht einmal kommentieren, ... 3) SMTP-Unterstuetzung? Eine relativ "neue" Sprache und dann brauche ich ein externes Programm zum Mailen? Sind wir in den 80ern? Da haette ich mir doch mehr erwartet. 4) Flexibilitaet PHP - "PERSONAL HomePage" in der urspruenglichen Intention. Und wirklich weiterentwickelt hat es sich nicht. Fuer Webloesungen mag es ja ganz nett sein, wenn man noch keine ordentliche Sprache gelernt hat, aber mehr wuerde ich damit nicht machen, da wuerde ich noch eher ein VB-Script auf einem Windows-Server schreiben, bevor ich das mit Perl mache. Unter Perl kann ich Webappliaktionen, GUI-Apps und Kommandozeilenscripts erstellen, alle laufen gleich stabil, gleich performant und mit einer Funktionalitaet, die ihresgleichen sucht. Und wenn ich ein klein wenig aufpasse, brauch ich das script fuer Linux, Windows, VMS, OS/2, AIX, .... ueberhaupt nicht aendern. 5) Erweiterbarkeit Es gibt kaum eine Funktion, fuer die es nicht auch schon ein Perl-Modul gibt. Ueber ppm oder Bundle::CPAN lassen diese sich BEQUEM UND EINFACH installieren - auch, wenn es Abhaengigkeiten gibt. Vergleichbares befindet sich fuer PHP bestenfalls im Aufbau. Und Deine Beweise? P.S.: PHP ist aus Perl entstanden. Ich betone das immer wieder, da mir Leute Features als PHP-Features verkaufen wollen, die eigentlich aus Perl kommen. |
Zitat:
Als Autor dieser PHP Beispielscripte glaube ich kaum das du in der Position bist, so über PHP zu reden :rolleyes: |
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Deine Apathie PHP gegenüber muss fast krankhaft sein, denn ich würde verstehen, dass du Perl VB vorziehst, aber umgekehrt? :rolleyes: ~ |
noch zum thema ?
hi !
erstmal vielen dank für eure antworten/unterstützung - v.a. an diejenigen die mir geholfen haben. :rolleyes: warum manche soche fragen gleich für einen streit als anlass nehmen müssen ist mir unklar. ist das nicht bissl lächerlich ? ..."dies ist besser als jenes" - o.k., muss zugeben - früher im kindergarten waren solche streiterein amüsant, aber irgendwann wird das dann doch langweileig, oder ? genaug damit. @_m3: ich weiß schon, was apache und php sind. meine web-anwendung verwendet php und apache und u.a. hat sie die aufgabe, daten aus einer db periodisch abzufragen und daraus berechnungen anzustellen und wieder in die db zurückzuschreiben. natürlich - dazu kann man ein eigenes programm schreiben, aber ich dachte halt, dass es einfacher wäre, das auch gleich via php zu machen, nachdem der "web-anzeige-teil" der appl. in php ist und das gaze vom kunden wartbar sein soll (!) eine db-anbindung, mailfunktionalität, http-protokoll übertragung usw. ist imho. in php viel einfacher zu realisieren, als in einem eigenständigen z.B. C++ programm. btw....perl find ich recht interessant - will ich mir bei gelegenheit näher ansehen. countdown halt ich für keine lösung. dachte eben eher an ein php skript und irgendeine möglichkeit, dass ich dem apache sage, dass er dieses alle 2 stunden periodisch aufrufen soll. @käptn: keine idee diesbezütlich ? ...du hast mir ja schon öfter bei meinen php-fragen geholfen. ;) also wie gsagt - thx für eure unterstützung und seid´s nett zueineander. :) nochwas: findet ihr, dass asp.net "weiterentwickelter" ist als php ? einsatzgebiet: web-appl. mit db abfrage für ca. 10000 user. perl kommt für mein derzeitiges projekt nicht in frage - entscheidung ist bereits für php gefallen. (auch seitens d. kunden) ...ist nur eine frage - bitte keine streiterei deswgen. fg -hannes |
Biri! :)
Das ist kein Streit! Das ist ein netter kleiner Flamewar - einer von denen, in welchen m3 immer wieder die alten lauwarmen Argumente aus den Löchern kriechen läßt. :D Bez. ASP .Net: Hatten wir die Frage nicht schon mal? Na jedenfalls würde ich zu ASP.NET raten, wenn du auf Win mit z.B. MSSQL arbeitest. Was sollte auf MS Technologien performanter sein als MS Technoligien? Zum Thread: Cron wär natürlich ideal. Aber wenn du auf Win arbeitest, solltest du vielleicht einmal den Taskplaner antesten. UND: du kannst natürlich PHP problemlos auf der Kommandozeile laufen lassen. ~ |
aso. ;)
hab das mal sagen müssen, weil die diskussion nix mehr mit dem thema des threads zu tun hatte - stimmt, die frage bezügl. asp gabst schon mal, aber meinungen ändern sich ja und ich fands passend weil gerade perl vs. php "diskutiert" wurde... wg. taskplaner: also diesen so einstellen, dass der taskplaner alle 2 stunden: "php.exe meinscript.php" ausführt. hmmm - wenn das script dann fertig ist, müsst ich den "kommandozeilen php-interpreter" wieder beenden. kommt sich der auch nicht mit dem apache php modul in die quere ? welche instanz interpretiert die php befehle, wenn php als apache modul läuft und gleichzeitig die php.exe gestartet wird ? hmmm - kann nicht einschätzen, ob dieser ansatz gscheit ist... fg -hannes |
So, nachdem meine "Chefin" mich gestern vom Computer weggezogen hat, bin ich wieder da :D
Zitat:
ad RegEx-Kommentieren: RegExen sind zumeist recht komplexe Konstrukte, die in einem professionellen Script Dokumentiert gehoeren. Natuerlich kann ich in PHP vor der preg_match() die RegEx kommentieren, aber so Code:
#!/usr/bin/perl -n Zitat:
Nein, ernsthaft. Wenn ich sehe, dass Leute einen "legitimen" Massenmailer in PHP implementierne, der Mails an zigtausend Adressen schickt, dreht sich mir der Magen um. a) wird da fuer jedes Mail das externe Programm aufgerufen ("tolle" Performance) und dann wundern sie sich, warum das Script im Browser in ein Timeput laeuft. Und da frag ich mich dann schon ... Zitat:
Zitat:
Zitat:
Wir hatten das Thema eh schon oefter. Ich kenn, wenns hoch kommt, 2 gute PHP-Programmierer, die wissen, was sie tun. Der Rest sind wannabies, deren Scripts ich nicht einmal auf meinen Server laufen lassen wuerde, wenn ich alles gejailt haette. Aber ich hab kein Problem damit, wenn diese Leute bei PHP bleibe, so bleibt der Standard fuer Perl-Scripts so hoch, wie er jetzt ist. Aber kapetn: Mit fehlt noch Deine Liste, warum PHP besser als Perl ist (ausser, dass es die geileren Groupies gibt ;) ) @Biri: Wie kaeptn schon sagte, ist nur ein freundlicher Flamewar, no personal harm intended. Dass dafuer Dein Thread herhalten muss, faellt wohl unter Kollateralschaden ;) Zu Deinem Thread: Wieso sollten sich die Kommandozeile und der Interpreter fuer Apache in die Quere kommen? Als mod fuer Apache laufen ja auch mehrere PHP-Instanzen gleichzeitig. Und der Kommandozeileinterpreter beendet sich automatisch, wenn das SCript zu Ende ist. |
Zitat:
das ist natürlich optimal wenn man weltweit über 300 server mit entsprechend vielen jobs hat :mad: :rolleyes: |
Hat wer gesagt, dass der Taskplaner brauchbar ist? ;)
Zum Glueck gibts online eine Menge Alternativen. :) |
@Biri
Ja, sorry für die Verunstaltung deines Threads :D Wie m3 schon sagte, kommen sich php(-cli) und mod_php (in deinem Fall php4apache(2).dll) nicht in die Quere. Wenn du eine aktuelle PHP Version zur Verfügung hast ist auch eine spezielle php.exe für die Kommandozeile vorhanden. Ich glaub vor 4.3.0 hieß diese Version php-cli.exe. Die heißt jetzt php.exe und die CGI Version heißt php-cgi.exe. Was ich damit sagen will, ist dass man für die Kommandozeile die Version nehmen sollte, die dafür vorgesehen ist, also die CLI Variante. Zitat:
Der Freewaremarkt hat sicher auch was für dich... @ flaming m3 ;) Ich hab ja im Gegensatz zu dir nie behauptet, dass Perl sch* ist. Ich sehe nur keinen Anlass mich damit zu quälen. Modularität Eine gewisse Modularität ist doch selbstverständlich, sonst sitzt man irgendwann auf einer Executabgle die alles kann und 60MB wiegt... RegEx Auch in PHP steht einem der Modifier x zur Verfügung ;) Man nimmt sich halt eben das Beste von Perl. Newsletter Naja aber dann meistens solche, die sich erst seit 3 Monaten mit PHP beschäftigen und noch überwältigt von den vielen Möglichkeiten sind (und wahrscheinlich nicht mal Google bedienen können :D) Zitat:
Microsoft ...ist ein eigenes Kapitel zum diskutieren, aber die Verbreitung haben sie sicher nicht völlig zu unrecht erlangt. Perl vs VB Hast du aber selbst geschrieben :p PHP besser als Perl ...hab ich wie gesagt nicht behauptet. Und Elegnaz ist wohl eher was subjektives (wenn man gerne in Echtzeit mit RSA verschlüsseltem Code arbeitet, bitte soll er es haben ;)) Datenbanken Die vorhandene Unterstützung in PHP sucht seinesgleichen. Sie geht von FlatFiles über MySQL bis zu Oracle, ODBC erwähnen wir nur am Rande... Will man die meiste Performance nimmt man die vorhandenen nativen Methoden. Hat man gerne ein einheitliches API nimmt man PEAR_DB. Will man sich nicht um das darunterliegnede DB-Backend kümmern nimmt man PEAR_MDB. In Zukunft wird auch sicher ext/dbx interessant, da es DB-Abstraktion in C implementiert und auch dementsprechend performant sein sollte. SMTP There's more than one way... Groupies ...dazu ist alles gesagt worden :D Flexibilität Zu sagen, dass sich PHP nicht von "Personal HomePage" weiterentwickelt hätte, kann ich nur als Bosheit oder Unwissenheit einstufen. Hoffentlich gehst du mit deiner engstirnigen, sturen Einstellung nicht in Pension ;) :D :hehe: ~ |
Zitat:
cron.exe, winat,... alles schon probiert => schaß |
Zitat:
es wurde noch nicht gesagt: - wo findet man die groupie-girls ? - im php handbuch fehlen sämtliche verweise auf solche (wie das bei perl ist, weiß ich nicht) - muss man php programmierer sein, um sich mit denen vergnügen zu dürfen ? zweckdienliche hinweise erbeten ! :) sonst: thx für die hilfe - werd das mit taskplaner (welchem auch immer) und php.exe mal ausprobieren. fg -hannes |
Zitat:
Wegen dem Speed :D Der SMTP läuft und muß nicht extra gestartet werden. Wenn keine persönliche Anrede oder wechselnder Text in den Mails vorkommt, kann man mit bc wunderbar auf einmal 1000 und mehr Adressen übergeben. Da flutschen die Mails wie die Sau :) Aber auch wenn man individuelle Mails in Massen versenden will, kann man da ordentlich was optimieren. Nehmen wir ein Beispiel mit 1Mio Empfänger (durchaus denkbar mit der Funktion "mail"). Es wird ein Overhead erzeugt für die individuellen Teile der Mail. In diesem Fall ist der Performance sehr gut. Denn es muss nichts mehr generiert werden, oder einzelne Daten aus der DB gesucht werden. Es gibt eine gut indizierte und performanceoptimierte Overhead-Tabelle, wo man nur mehr, ohne großen Rechenaufwand Daten ausliest. Die Assemblierung der Mailtexte ist somit äußerst schnell... Aber wenn es zu viele Mailadressen werden, ist es in punkto Performance wieder besser, wenn man die Funktion z.B. 100mal mit 1000Adressen aufruft. Und einen Refresh macht man nach allen 10 Aufrufen. Bei einer ganz professionellen Lösung wird auch die Zeit gemessen und erst kurz vor einem Timeout ein Refresh durchgeführt, was die Performance natürlich wieder steigert. Da geht die Sau ab mit PHP :D /me sitzt im Bunker mit Vollaspestanzug und schaut durch kleines Fenster :) Sloter |
:D Groupies:
|
:roflmao::roflmao::roflmao:
endlich mal ein lichtblick an diesem (fürs im bürositzen) viel zu heißem tag !! na, _m3 - gibt's die auch mit perl laiberl ? ;) hab da mal ein bild ghabt, wo eine frau ein top anhat, auf dem ein bluescreen abgebildet ist...finds jetzt leida net. fg -hannes |
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag