Cron jobs en Sessions

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • rmfloris
  • Registratie: Maart 2002
  • Laatst online: 22-11-2024

rmfloris

Kowalski: Kaboeeem??

Topicstarter
Ik laat iedere avond een php script draaien via een cron job. In het php bestand wordt gewerkt met sessies. Nu krijg ik iedere keer als ik via de cron job het php script draai een foutmelding:

code:
1
session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent in /foto_verwerk.php on line 2


Als ik de pagina handmatig in mijn browser draai is er niks aan de hand, geen foutmelding en de output (naar een bestand) is correct.

Wat is er anders aan het draaien van de cronjob dan via de handmatig/browser actie? Wat moet ik eventueel aanpassen om deze foutmelding niet meer te krijgen?

Foto afdrukken prijsvergelijk -> http://www.fotovergelijk.nl


Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 23:39

Onbekend

...

Wat staat er in /foto_verwerk.php op regel 2?
Schijnbaar verzend hij daar al headers.

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • lammert
  • Registratie: Maart 2004
  • Laatst online: 03-09 11:50
In een cron-job draai je het script in een andere php library (php5-cli) dan in je browser (libapache2-mod-php5), daar kunnen kleine verschillen tussen zitten. De foutmelding suggereert dat er al output van je script is voordat de session_start() aangeroepen wordt. Meestal wordt dat veroorzaakt door een spatie of een enter voor je sessions_start.

[ Voor 3% gewijzigd door lammert op 28-03-2010 11:43 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Je kan de cronjob met wget draaien, zodat het door 'de browser' wordt opgevraagd (dus door apache heen gaat). Je zou ook de sessions eruit kunnen halen, omdat cronjobs hier toch niks mee hoeven.

Zie ook http://www.google.com/sea...et+quiet+cron+job&spell=1

Acties:
  • 0 Henk 'm!

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Ik vind het altijd raar dat mensen cronjobs via het web aan gaan roepen, ik zou gewoon netjes op PHP_SAPI gaan controleren, dat is een stuk netter imo :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


Acties:
  • 0 Henk 'm!

  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 23:46
Gewoon je apache2-php5/php.ini symlinken naar cli-php5/php.ini zodat ze altijd hetzelfde zijn :9
Dan kan je in je cronjob gewoon /usr/bin/php /whatever/path/script.php zetten.

En inderdaad, je code lijkt gewoon brak te zijn omdattie al wat output (een error ofzo?) voor er headers verzonden worden (waarom worden er uberhaupt headers in je script verzonden, het hoeft toch niet naar een browser? :S) door het script.

[ Voor 70% gewijzigd door _eXistenZ_ op 28-03-2010 12:44 ]

There is no replacement for displacement!

Pagina: 1