Bonjour,
je recherche a lancé un fichier sh a l'aide d'une commande php
le problème est que le fichier php n'ai pas dans le même dossier que le fichier sh.
(en ligne de comande)
j'ai testé sh fichier.sh et sa marche bien
mais quand je fais sh /home/fichier.sh sa ne marche pas
(en php)
je n'arrive pas a lancé le fichier quelque sois sont emplacement et la commande php pour le lancé
comment faire ?
merci d'avance
# Chemin
Posté par Maxime (site web personnel) . Évalué à 2.
Vérifie le chemin de ce fichier. Cela m'étonnerait qu'il soit dans /home/fichier.sh, il est probablement dans ton « home », c'est-à-dire : /home/[tonlogin]/fichier.sh
# fichier .sh lancé avec du php
Posté par eyefighter . Évalué à 1.
oui, le chemin exacte est : /home/minecarft/start.sh (c'est un fichier pour lancé un serveur).
mais le problème était le même avant que je le mette dans home.
j'aimerais savoir comment fonctionne les droit sur un sh (je pence que le problème vien de la), je ne trouve pas grand chose sur internet
a par des chmod 755 start.sh mais sens explication.
[^] # Re: fichier .sh lancé avec du php
Posté par NeoX . Évalué à 2.
755 c'est bien
seulement ton script PHP, il est lancé par qui ?
si c'est par le navigateur web, il va etre executer par l'utilisateur apache, apache2 ou www-data
cet utilisateur n'a peut-etre meme pas le droit d'entrer dans le dossier /home/minecraft
[^] # Re: fichier .sh lancé avec du php
Posté par eyefighter . Évalué à 1.
j'ai aussi fais un +x qui normalement autorise l'éxécution
# lmgt
Posté par olaf . Évalué à 0.
http://fr.wikipedia.org/wiki/Permissions_UNIX
# j'y suis presque
Posté par eyefighter . Évalué à 0. Dernière modification le 24 novembre 2014 à 20:49.
j'ai réussi , mon php lance bien le sh. mais sa ne marche pas tout affais
quand je fais ls -laR /var/run/screen/
je vois que le serveur est dans : /var/run/screen/S-www-data:
et il est invisible sur le client du jeu (comme si il n'était pas allumé).
j'avais déjà fais des teste et quand il était : /var/run/screen/:, sa marché correctement.
voici le sh :
la commande php :
[^] # Re: j'y suis presque
Posté par NeoX . Évalué à 2.
à quoi sert le screen puisque tu demandes à PHP de lancer le script en tache de fond (avec le &) ?
[^] # Re: j'y suis presque
Posté par Maxime (site web personnel) . Évalué à 1.
Faudrait tester, mais est-ce qu'il n'y aurait pas un risque que le script soit killé à la fin d'exécution du script PHP ?
[^] # Re: j'y suis presque
Posté par eyefighter . Évalué à 1.
peut être, comment vérifier
[^] # Re: j'y suis presque
Posté par Maxime (site web personnel) . Évalué à 2.
Tu fais un programme (ou script) qui ne se termine jamais. Tu fais un script php qui lance ce programme. Tu exécutes le script php en chargeant la page. Avec ps tu regardes si le script tourne encore.
# Beurk
Posté par M.Poil (site web personnel) . Évalué à 1.
Si c'est depuis un script, d'une pourquoi faire sh et pas faire un chmod +x sur ton script (faire sh c'est mal, tu ne sais pas si l'interpréteur qui va être lancé est celui déclaré dans le shebang du script) et es-tu certain que ton utilisateur de lancement (toto/www-data/apache) à le droit de lire ton fichier ?
Si c'est depuis une page web, tu es peut-être limité par la configuration de l open_basedir (cf ton php.ini/php.d ou ta conf dans ton vhost)
Is it a Bird? Is it a Plane?? No, it's Super Poil !!!
[^] # Re: Beurk
Posté par eyefighter . Évalué à 1.
chmod +x script
se n'ai pas pour le rendre exécutable ? je les déjà fais une fois
# problème chemin
Posté par eyefighter . Évalué à 1.
j'ai testé en ligne de commande : sh /home/minecraft/start.sh
mais sa n marche pas. je ne peut lancé un sh que si je suis dans sont dossier. comment faire pour l’exécute depuis un autre dossier
[^] # Re: problème chemin
Posté par Maxime (site web personnel) . Évalué à 2.
ps. attention à l'orthographe
# problème de droit
Posté par eyefighter . Évalué à 1.
j'ai réussi, le serveur se lance.
j'ai utiliser se code dans le php :
le problème est qu'il se lance avec les droit www-data:shell_exec("cd /home/minecraft;/usr/bin/screen -AmdS minecraft /usr/bin/java -Xmx512M -Xms512M -jar minecraft_server.1.8.1.jar nogui");
/var/run/screen/S-www-data:
prw------- 1 www-data www-data 0 déc. 3 09:06 19199.minecraft
comment fair pour qu'il se lance avec les droit d'un autre utilisateur (exe : minecraft_Admin) :
/var/run/screen/S-minecraft_Admin:
prw------- 1 root root 0 déc. 3 09:08 19321.minecraft
sa marche quand je me conecte eu serveur avec les identifient de mon utilisateur minecraft_Admin.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.