![]() |
[PHP] Newsletter versenden, max_execution_time umgehen
Hallo,
ich habe einen eigenen Root-Server bei 1&1 für meine Projekte. D.h, ich nutze ihn alleine. Nun habe ich eine recht große Community aufgebaut und möchte nun ab und zu Newsletter versenden. Nun dauert das Senden ja einige Zeit, unter umständen länger, als es die max_execution_time erlaubt. Nun wollte ich wissen - da einige Scripts auch als CronJob laufen - ob es nicht sinnvoll ist die "m-e-t" auszuschalten. Sollte mal eine Endlosschleife auftreten, kille ich das Script per Shell (Linux). Andernfalls ist es möglich, die Ausführungsdauer per set_time_limit zu setzen, was aber nur funktioniert, wenn der Safe-Mode ausgeschaltet ist. (Den habe ich glaub ich sogar aus ?) Ich könnte allerdings die Mails in Paketen versenden - das wäre nicht das Problem. Problematisch ist es nur bei den Mails per Cronjob. Wie soll sich da das Skript mehrfach aufrufen um die nächsten Mail-Pakete zu senden? Wie macht ihr sowas / zu was könnt ihr mir raten? Danke im Voraus |
Re: [PHP] Newsletter versenden, max_execution_time umgehen
Hallo, :-)
Zitat:
Zitat:
Zitat:
Hoffe du hast das verstanden, sonst erklär' ich es nochmal praxisbezogener. :-) Liebe Grüße, Valle |
Re: [PHP] Newsletter versenden, max_execution_time umgehen
Hm, das klingt nicht schelcht. Ich habe die Scripts immer direkt mit Apache aufgerufen. Hab also eine PHP-Datei erstellt und vor dem PHP "<?php" den Pfad zum Interpreter angegeben.
An einer solchen Erklärung wäre ich interessiert ;) Danke |
Re: [PHP] Newsletter versenden, max_execution_time umgehen
Also, das ist ganz einfach. Folgender Eintrag dient jetzt mal als Beispiel für die Datei /etc/ctontab (die du ja hoffentlich kennst. Wenn nicht: "man 5 crontab").
Code:
Das Script wird dann als CLI ausgeführt. Dafür brauchst du das Packet php5-cli. Sofern du Debian oder Ubuntu benutzt, wird dann statt der üblichen php.ini unter /etc/php5/apache2/ die php.ini im Verzeichnis /etc/php5/cli/ benutzt. Dort kannst du deine Einstellungen dann seperat vom Apache vornehmen. ;-)
# m h dom mon dow user command
17 * * * * www-data php /path/to/script.php Liebe Grüße, Valle |
Re: [PHP] Newsletter versenden, max_execution_time umgehen
Ah ok, das schaue ich mir gleich mal an. Danke dir soweit!
|
Re: [PHP] Newsletter versenden, max_execution_time umgehen
Kleiner Tipp:
![]()
Code:
(Natuerlich erstmal mit "which php5" den Pfad zur PHP-binary rausfinden und den eintragen)
#!/usr/bin/php5
<?php echo 'Hello world!'; ?> Anschliessend die Datei ausfuehrbar machen:
Code:
Und dann aufrufen:
chmod +x helloworld.php
Code:
Und tadaaaaaa, schon wird was ausgegeben.
./helloworld.php
@Valle: wenn php-cli installiert wird hat die mitgelieferte php.ini bereits ein hoeheres memory_limit als jene fuer apache2. Ausserdem gibt es noch weitere Unterschiede, die ![]() @DJ-SPM: guck dir mal die Swift-Library an. Diese hat diverse Spooler-Klassen, und wenn ich mich recht erinnere auch eine Mail-Queue, wo du nur noch die geschriebene Queue in nem Cron abarbeiten musst :) Greetz alcaeus |
Re: [PHP] Newsletter versenden, max_execution_time umgehen
Hallo,
danke für den Tipp, aber so verfahre ich die ganze Zeit schon, auch mit der Shebang. Nur so kann ich ja keine Paket-Sendung realisieren? Ein Meta-Refresh etc hat ja dort keine Wirkung. Die Seite wird also nur einmal abgearbeitet - das ist ja grad mein Problem. |
Re: [PHP] Newsletter versenden, max_execution_time umgehen
Zitat:
Zitat:
Zitat:
dann brauchst du die E-Mails nicht mehr in Packete zusammenfassen. ;-) Liebe Grüße, Valle |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz