Hoi,
Ik ben bezig met php een mailinglist systeempje te bakken. Nu heb ik het zo gedaan dat ik een php console proces kan starten dat alle mailtjes verstuurd. Nu heb ik dit gewoon gedaan door in mijn mailer.php (dat via browser wordt aangeroepen) het volgende te zetten:
(Ik heb deze methode in het verleden al vaker met succes gebruikt maar deze keer werkt het gewoon niet)
(Op de eerste regel van die console_mailer.php staat dus #!/usr/local/bin/php -q)
Maar wat blijkt nu: niet het console_mailer script wordt door php geparsed, maar het webscript die in de browser wordt bekeken (in dit geval dus mailer.php). Ik begrijp er echt helemaal niks meer van. Ik ben zelfs al zo ver gegaan dat ik met "at" en proces geplant heb om over 1 minuut te staren. Als ik dat via console doet werkt het perfect. Maar als ik dit via web doe, komt hij ook netjes in de atqueue te staan maar voert gewoon weer doodleuk dat webscript uit ipv mijn console_mailer.php.
Ik draai dit alles met apache en php mbv suexec. Deze werkt ook gewoon echt onder de user die rechten heeft tot het script dus daar ligt het (denk ik) ook niet aan. Ik snap er helemaal niks meer van.
Ik ben bezig met php een mailinglist systeempje te bakken. Nu heb ik het zo gedaan dat ik een php console proces kan starten dat alle mailtjes verstuurd. Nu heb ik dit gewoon gedaan door in mijn mailer.php (dat via browser wordt aangeroepen) het volgende te zetten:
PHP:
1
2
3
| <? exec("/home/blaat/blaat/blaat/console_mailer.php 1>/dev/null 2>/dev/null &"); ?> |
(Ik heb deze methode in het verleden al vaker met succes gebruikt maar deze keer werkt het gewoon niet)
(Op de eerste regel van die console_mailer.php staat dus #!/usr/local/bin/php -q)
Maar wat blijkt nu: niet het console_mailer script wordt door php geparsed, maar het webscript die in de browser wordt bekeken (in dit geval dus mailer.php). Ik begrijp er echt helemaal niks meer van. Ik ben zelfs al zo ver gegaan dat ik met "at" en proces geplant heb om over 1 minuut te staren. Als ik dat via console doet werkt het perfect. Maar als ik dit via web doe, komt hij ook netjes in de atqueue te staan maar voert gewoon weer doodleuk dat webscript uit ipv mijn console_mailer.php.
Ik draai dit alles met apache en php mbv suexec. Deze werkt ook gewoon echt onder de user die rechten heeft tot het script dus daar ligt het (denk ik) ook niet aan. Ik snap er helemaal niks meer van.