Ik wil graag vanuit een php script die ik in m'n browser aanroep een commandline php script laten uitvoeren in de achtergrond maar het wil maar niet lukken.
Alle scripts of commandline commando's die ik uitvoer werken behalve als het een php script is.
Ik roep bijvoorbeeld op:
http://www.server.iets/commandline/index.php
met de volgende code:
test.sh:
test.php:
de output die ik krijg is het volgende:
--
temp1: test1
temp2:
--
terwijl het als ik het vanaf de shell zelf aanroep wel correct werkt. Het path naar php zou goed moeten staan volgens bij phpinfo().
Waarom zou dit niet werken?
Een dirty oplossing die wel werkt is de test.sh op te roepen die dan lynx "http://www.server.iets/commandline/test.php" doet. Het oproepen van het php script rechtstreeks vanuit test.sh werkt ook niet.
Alle scripts of commandline commando's die ik uitvoer werken behalve als het een php script is.
Ik roep bijvoorbeeld op:
http://www.server.iets/commandline/index.php
met de volgende code:
code:
1
2
3
4
5
6
7
8
| <?php $temp1 = `/home/user/bizx_html/commandline/test.sh`; print ("temp1: ".$temp1."<BR>\n"); $temp2 = `/home/user/bizx_html/commandline/test.php`; print ("temp2: ".$temp2."<BR>\n"); ?> |
test.sh:
code:
1
2
| #!/bin/sh echo "test1" |
test.php:
code:
1
2
| #!/usr/local/php/cgi-php/php -q <?php print ("test2\n"); ?> |
de output die ik krijg is het volgende:
--
temp1: test1
temp2:
--
terwijl het als ik het vanaf de shell zelf aanroep wel correct werkt. Het path naar php zou goed moeten staan volgens bij phpinfo().
Waarom zou dit niet werken?
Een dirty oplossing die wel werkt is de test.sh op te roepen die dan lynx "http://www.server.iets/commandline/test.php" doet. Het oproepen van het php script rechtstreeks vanuit test.sh werkt ook niet.