[PHP] Shell script starten vanuit webserver.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Voor een mailsysteem wil ik een PHP script kunnen uitvoeren in de shell om browser-onafhankelijk te blijven draaien. Dit PHP script werkt prima als ik het vanuit de shell open met in de 1e regel: #!/opt/php5/bin/php.

Nu wil ik dit script weer oproepen vanuit een PHP script dat apache uitvoert. Om zo de mailing te kunnen starten. Als ik het probeer met exec() krijg ik steeds '126' of '127' retour en voert het script niets uit. Als ik een simpel script uitvoer met exec, bijv exec("ls -al", $res); krijg ik wel resultaat.

Ik gebruik:
code:
1
2
$command  = './send_mailing.php';
exec($command, $res);


Tips anyone?

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Ik vermoed dat het hekje alleen door shells geïnterpreteerd wordt. Probeer een van volgende oplossingen eens:
PHP:
1
2
3
4
5
$command = '/usr/local/bin/php -q send_mailing.php' // wel PHP-pad goedzetten
exec($command, $res)
of:
$command  = './send_mailing.php';
$res = shell_exec($command);

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nou ik heb het voor elkaar door het uit te voeren met /opt/php4bin/bin/php ervoor. Werkt prima, alleen blijft exec wachten op een resultaat. Als ik de browser afsluit, stopt de uitvoering van exec ook! Hoe los ik dat nou weer op?

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

met nohup en & lijkt me

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'