begin process at 2010 02 10 01:00:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Server Web

 > 

Apache

 > 

safe_mode_exec_dir


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

safe_mode_exec_dir

mercredi 2 juillet 2008 à 13:07:34 | safe_mode_exec_dir

sahliali

Bonjour,

J'ai un problème avec la configuration et l'exécution d'un code en utilisant la fonction exec.
En fait j'ai configurer mon fichier PHP.ini en
safe_mode = off
safe_mode_exec_dir = ".;${path}\php\command\"  
l'emplacement ou je veux exécuter un fichier tracert.php qui contient le code suivant

exec("tracert www.google.fr", $tableau);
foreach($tableau as $row)
{
echo $row;
echo "<br />";
}

le problème comment je fait appel à ce fichier, sachant que je veux que le temps d'exécution peut dérouler plusque que 30 seconde, c'est pour cela que j'utilise le safe_mode = off et je spécifie l'emplacement des commandes à exécuter.

Merci.

mercredi 2 juillet 2008 à 15:56:30 | Re : safe_mode_exec_dir

neigedhiver

Salut,

Si tu désactives safe_mode, inutile de configurer safe_mode_exec_dir, cette directive ne sera pas prise en compte.

Si tu veux simplement augmenter le temps maximum d'exécution d'un script, il te suffit non pas de désactiver safe_mode.
Quitte à modifier la configuration de PHP, autant simplement augmenter le temps d'exécution : max_execution_time
Si tu veux pouvoir modifier cette valeur dans tes scripts, alors oui, il faut que safe_mode soit désactivé et utiliser la fonction set_time_limit()


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
mercredi 2 juillet 2008 à 15:58:05 | Re : safe_mode_exec_dir

neigedhiver

Tiens, j'me suis pas relu et y'a une phrase qui veut pas dire grand chose... :/


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
mercredi 2 juillet 2008 à 18:56:37 | Re : safe_mode_exec_dir

sahliali

Merci pour votre reponse, mais je sais pas le temps d'exécution du processus, le processus peut prendre un jours ou meme plus d'exécution, c'est  pour ca que j'ai penser à  configurer le safe_mode_exec_dir et safe_mode = On,  comme décrit dans le manuel de exec ( ici )
jeudi 3 juillet 2008 à 10:29:14 | Re : safe_mode_exec_dir

neigedhiver

Salut,

Quelques précisions me paraissent nécessaires.

PHP ne permet pas l'exécution d'un script sur une durée illimitée : il y a FORCEMENT une limite de temps, fixée par la configuration. Ca, on ne PEUT PAS y échapper.
Donc : on peut tout à fait autoriser, dans la config de PHP, une durée d'exécution très longue ; mais cette durée est nécessairement déterminée, et ne peut en aucune cas être illimitée

Il est dit dans la doc : "Lorsque le safe mode est activé, vous pouvez uniquement exécuter des programmes qui se situent dans le dossier défini par safe_mode_exec_dir."
Cela ne signifie ABSOUMENT PAS que pour exécuter un programme externe, il faille obligatoirement activer safe_mode ! AU CONTRAIRE ! La doc explique que SI safe_mode est activé, alors seuls les programmes se trouvant dans le répertoire défini par safe_mode_exec_dir dans la configuration de PHP pourront être exécutés.
Si safe_mode n'est pas activé, cette limitation n'existe pas. Sur un hébergement personnel, on peut (on doit ?) désactiver safe_mode pour permettre l'exécution de programmes externes que l'on veut sans contrainte de répertoire.


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
jeudi 3 juillet 2008 à 13:24:05 | Re : safe_mode_exec_dir

sahliali

Ok, la je comprend bien, donc la solution que je propose de faire un script sh qui va faire la tache en arrière plan, mais mon problème c'est ou je doit mettre le script pour que la fonction exec lui fais appel, et aussi comment je peut savoir la fin d'éxecution du script.
exemple :
$id = exec("monscript.sh");
if($id == "0")
// script en cours d'exécution
else
// fin de script
jeudi 3 juillet 2008 à 14:21:19 | Re : safe_mode_exec_dir

neigedhiver

Réponse acceptée !
Si safe_mode n'est pas activé, exec() peut exécuter un exécutable qui se trouve n'importe où, pour peu que les permissions le permettent.

Le mieux est de ne pas attendre la fin de l'exécution du script, de rediriger la sortie de celui-ci dans un fichier, et d'en vérifier le contenu.


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...


Cette discussion est classée dans : fichier, safe, mode, dir, exec


Répondre à ce message

Sujets en rapport avec ce message

safe_mode_exec_dir [ par repier ] Bonjour,Je voudrais savoir comment specifier plusieurs dossiers avec safe_mode_exec_dirMerci de votre aidePierre classement fichiers par date! [ par abdellah1505 ] Bonsoir,j'ai un code php qui permet de lister 3 fichiers qui ce trouve dans un dossier et je voulais savoir si il est possible de trier ses 3 fichiers inclure un fichier html en html [ par niko14 ] hello tout le monde!Voila mon probleme je fais un mode opératoire pour l'utilisation du site que je viens de créer!Mais le "probleme" c'est que ce mod Listage d'un repertoire / Un truc m'échappe [ par gorbfr ] Bonjour,J'ai ce code qui fonctionne bien :function lire_dossier($dir){  $dossier=opendir($dir);  while($fichier=readdir($dossier))  {    $ignore=array opendir [ par jphilippev ] bonjour j'ai pris un code du manuel php pour ouvrir un dossier (opendir)et en début de boucle il me renvoirfichier : .fichier : ..</font Test si c'est un repertoire ou un fichier !! [ par rich25200 ] Bonjour, Je comprends rien !! enfin bon si mais je sais pas pk il reagit comme ca.... Je vous explique j'ai du code pour tester si c'est un repertoi !!!! UPLOAD !!!! [ par funghi ] Salut à tous !!!J'ai un tit pb avec un upload, je sens que j'y suis presque, mais ca ne marche tjs pas !!!Voici le bout de code qui ne marche pas :$re problem SAFE MODE Restriction in effect [ par skiso ] Warning: file_exists() [function.file-exists]: SAFE MODE Restriction in effect. The script wh easyphp aurait des lacunes ? [ par Teclis01 ] Voila je viens exposer mon petit probleme ...je pensais faire un petit explorateur de fichier pour mon site donc je fais chauffer easyphp et la le dra Parcourir des repertoires (fonction recursive) [ par ov3rdoze ] SalutJe souhaite réaliser une fonction qui parcours une repertoire ainsi que ses sous-repertoires afin de recuperer les photos qu'ils contiennentJ'ai


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,264 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales