problème php exec sur mutualisé 1&1

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème php exec sur mutualisé 1&1

Re: problème php exec sur mutualisé 1&1

par Mazarini » 24 janv. 2011, 17:02

Bonjour,

Quelques remarques sur la commande exec("php /kunden/homepages/6/xxxxxxxxxx/htdocs/test/write.php > /dev/null &", $output, $error);

- le "> /dev/null fait que la sortie standard $output sera toujours vide
- le "&" en fin de commande fait que le script te rendra la main avant la fin de write PHP
- la fin du script appelant interrompt le script appelé (enfin je crois)

Mais j'avoue ne pas être pointu sur ce genre de chose.

Re: problème php exec sur mutualisé 1&1

par moogli » 24 janv. 2011, 09:56

La réponse est simple, chez 1and1 ils sont encore sous PHP 5.2.17.
quel rapport ?

d'ailleurs au vu du script il n'utilise pas php5 mais php4 .... et oui chez 1and1 il faut indiquer sur le nom de fichier la version (.php => php4, php5 , .php6 ...).

sinon il mettre des ' autour du w dans : open("/kunden/homepages/6/xxxxxxxxxx/htdocs/test/res.txt",w);

après j'ai reproduit le pb mais pas encore trouvé de solution :)


@+

Re: problème php exec sur mutualisé 1&1

par Rémi » 23 janv. 2011, 23:29

La réponse est simple, chez 1and1 ils sont encore sous PHP 5.2.17.

par sadeq » 13 mai 2009, 09:08

Essaye avec popen() ou proc_open() pour interagir avec le shell du système en tant que processus.

par thehawk » 13 mai 2009, 08:53

De plus , la fonction exec est a mon avis desactivé , vu que tu es sur du mutualisé.


Comme je le disais, le support m'a confirmé que la fonction exec était bien disponible.
De plus, je n'ai rien d'inscrit dans la partie "disabled functions" du php.ini (le safe mode est bien désactivé également)

J'ai parfaitement accès à la fonction exec sur l'hébergeur chez qui j'étais avant et c'était également un mutualisé.
Je suis partie pour des questions de prix (entre autre !) mais je m'en mord les doigts !
Autant pour moi :oops:

par flashy38 » 13 mai 2009, 08:43

pourquoi faire un exec alors que tu pourrais faire un include?
Il ne s'agit là que de scripts d'exemple !!

En réalité, il s'agit de lancer plusieurs scripts d'upload de fichiers en fond de tâche.
Ainsi, les uploads qui peuvent prendre pas mal de temps (quelques minutes) tournent en fond et ne bloquent pas l'execution de la suite du script principal.

De plus , la fonction exec est a mon avis desactivé , vu que tu es sur du mutualisé.


Comme je le disais, le support m'a confirmé que la fonction exec était bien disponible.
De plus, je n'ai rien d'inscrit dans la partie "disabled functions" du php.ini (le safe mode est bien désactivé également)

J'ai parfaitement accès à la fonction exec sur l'hébergeur chez qui j'étais avant et c'était également un mutualisé.
Je suis partie pour des questions de prix (entre autre !) mais je m'en mord les doigts !

par thehawk » 13 mai 2009, 07:52

Bonjour,


De plus , la fonction exec est a mon avis desactivé , vu que tu es sur du mutualisé.

Bye Hawk

par Nagol » 13 mai 2009, 00:49

pourquoi faire un exec alors que tu pourrais faire un include?

problème php exec sur mutualisé 1&1

par flashy38 » 12 mai 2009, 12:57

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