Bonjour,
Je viens de prendre chez 1&1 un hébergement mutualisé "Pack Perso Confort" et je rencontre un problème avec la commande php exec…
Voici les scripts de test que j’essaye de faire fonctionner :
Script "test.php" :
<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
exec("php /kunden/homepages/6/xxxxxxxxxx/htdocs/test/write.php > /dev/null &", $output, $error);
echo "Output :<pre>";
print_r($output);
echo "</pre>";
echo "Error : <pre>";
print_r($error);
echo "</pre>";
echo "ceci est un test" ;
Script "write.php" :
<?php
$f=fopen("/kunden/homepages/6/xxxxxxxxxx/htdocs/test/res.txt",w);
fwrite($f,"resultat du test");
fclose($f);
chmod("/kunden/homepages/6/xxxxxxxxxx/htdocs/test/res.txt",0777);
?>
Quand j’execute le script "test.php", voici ce que mon navigateur me retourne :
Output :
Array
(
)
Error :
0
ceci est un test
Par contre, le fichier "res.txt" qui aurait dû être créé par le script "write.php" n’est pas créé !!
En lançant directement le script "write.php", il n’y a aucun problème puisque le fichier "res.txt" est bien créé…
Petites précisions : le chmod du dossier "test" où se trouvent les deux scripts est bien à 777 et, dans les deux scripts, les "xxxxxxxxxx" dans les chemins sont bien ceux qui correspondent à mon hébergement.
J’ai contacté le support 1&1 et ils m’ont confirmé que la commande exec était bien activé sur le type d’hébergement que j’ai.
De plus, ils m’ont également confirmé que le chemin à mettre pour l’interpréteur php était bien juste "php" dans la première partie de la commande exec. J’en avais déjà d’ailleurs essayer tout un tas (/usr/bin/php notamment).
Bref, j’en perd mon latin !!! D’autant plus que la réponse du support a été "il faut vérifier votre script, je ne pas vous en dire plus puisque les chemins sont les bons" (bref, du vrai support !!)
Merci d’avance de votre aide