Accueil > Forum > > > > PHP exec directement sur bash/ terminal
PHP exec directement sur bash/ terminal
lundi 13 septembre 2010 à 15:53:44 |
PHP exec directement sur bash/ terminal

ddolku
|
Bonjour,
J'essaye d'executer un script PHP dans le shell.
Cela fonctionne mais la ligne dans le php d'execution exec ne fonctionne pas.
voici ma commande :
/usr/bin/php /var/www/vhosts/xxx.com/httpdocs/ff.php
Réponse du terminal :
sh: /ls: not found
Voici le contenu de mon script PHP :
$test = exec("ls");
mysql_query("UPDATE info SET file='$test'");
J'attend beaucoup de votre réponse, je vous en remercie par avance.
Cordialement
|
|
lundi 13 septembre 2010 à 20:40:50 |
Re : PHP exec directement sur bash/ terminal

TychoBrahe
|
Salut,
Plusieurs points :
1. Vérifie donc ta variable d'environnement PATH
2. Est-ce que ton ls est véritablement ce que tu veux faire ? vérifie bien la sortie, surtout avec l'utilisation de exec().
3. Pourquoi ne pas utiliser scandir() et ses amies ?
|
|
mardi 14 septembre 2010 à 08:13:31 |
Re : PHP exec directement sur bash/ terminal

syndrael
|
oui j'aurais cité le point 1 en premier. A défaut il y a le get_include-path qui peut te renseigner.
S.
|
|
mardi 14 septembre 2010 à 15:00:40 |
Re : PHP exec directement sur bash/ terminal

neigedhiver
|
Salut,
Pour tout dire, il n'est pas rare que le PATH ne soit effectivement pas renseigné lors de l'exécution de scripts : cette variable est définie dans le script profil de l'utilisateur (.profile, .bash_rc, etc) et n'est exécuté QUE lors de la connexion d'un utilisateur (même pas avec un simple su, il faut rajouter le tier pour forcer la restauration de l'environnement de l'utilisateur).
Mais bon, pour ce genre de traitement, je suis convaincu que les fonctions natives de PHP sont LARGEMENT suffisantes... Un script shell qui ne fait rien d'autre que lister des fichiers ne sert pas à grand chose... Pour lister des fichiers avec find, grep et leurs copains, je comprendrais, mais là...
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
mardi 14 septembre 2010 à 15:20:35 |
Re : PHP exec directement sur bash/ terminal

ddolku
|
Merci beaucoup pour toutes ces réponses.
L'erreur était tout simplement dans la configuration du php.ini du cli.
Merci encore pour votre réactivité.
Cordialement.
|
|
mercredi 15 septembre 2010 à 00:33:27 |
Re : PHP exec directement sur bash/ terminal

TychoBrahe
|
Salut,
oui j'aurais cité le point 1 en premier. A défaut il y a le get_include-path qui peut te renseigner.
Heu,... il n'y a pas vraiment de rapport entre le PATH de l'environnement et l'include-path de PHP.
Pour tout dire, il n'est pas rare que le PATH ne soit effectivement pas renseigné lors de l'exécution de scripts : cette variable est définie dans le script profil de l'utilisateur (.profile, .bash_rc, etc) et n'est exécuté QUE lors de la connexion d'un utilisateur (même pas avec un simple su, il faut rajouter le tier pour forcer la restauration de l'environnement de l'utilisateur).
Attention, tu confonds deux choses distinctes :
1. Les informations utilisées lors d'un login afin d'initialiser certaines variables d'environnement et autres choses de ce genre. On trouve généralement ces renseignements dans les fichiers /etc/login.defs (GNU/Linux) ou /etc/login.conf (*BSD). Ce fichier est commun à tous les utilisateurs.
2. Les fichiers de configurations du shell. Des fichiers généraux (exemple : /etc/profile, /etc/bash.bashrc, /etc/csh.cshrc, /etc/csh.login, etc) aux fichiers de préférences de chaque utilisateur (exemples : ~/.bashrc, ~/.bash_profile, ~/.login, ~/.cshrc, ~/.tcshrc), ce sont des fichiers propres à chaque shell qui seront interprétés par ce dernier à son lancement (et en fonctions des manières de lancer le shell, souvent certains fichiers seront pris en compte et d'autres pas).
Bien entendu, les fichiers de configuration du shell ont tendance à écraser la conf par défaut (ainsi sur ma Debian /etc/profile écrase le PATH mis par /etc/login.defs), et ce n'est parce qu'un shell est lancé qu'il y a forcément login d'un utilisateur.
Un peu de lecture de man sur ce sujet :
login 1 ( Debian, FreeBSD)
login.defs 5
login.conf 5
bash 1
tcsh 1
|
|
mercredi 15 septembre 2010 à 08:32:15 |
Re : PHP exec directement sur bash/ terminal

syndrael
|
Heu,... il n'y a pas vraiment de rapport entre le PATH de l'environnement et l'include-path de PHP.
Hélas PHP est tellement permissif que je me dis: Pourquoi pas ? LOL !!
J'aime ce langage, mais quand on le pousse un peu (surtout dans les interactions système).. on a souvent des surprises.
S.
|
|
Cette discussion est classée dans : php, directement, terminal, bash, exec
Répondre à ce message
Sujets en rapport avec ce message
lancer le terminal via php [ par zigfghgf ]
salut a tout le monde mon pb est simple je veux lancer le terminal sous ubuntu via une page php . j'ai essayer exec('xterm'),exec('gnome-terminal')ou
[PHP] exec + lien relatif ( Paiement sécurisé SSL) [ par nitrique ]
David, à VERSAILLES
Lancer un exe [ par tekbright ]
Bonjour,Je débute en php, donc pardonnez moi pour les futures questions idiotes.Je réalise un portail web qui tournera sur un serveur méta frame, c'es
Problème : SOAP + PHP + shell_exec [ par medou15 ]
Voilà, j'ai un problème dans l'utilisation de SOAP avec PHP. Auparavant, j'ai réussi à faire fonctionner mon code mais depuis que j'ai voulu mettre u
Problème commande « exec » de php et windows7 [ par webel ]
Bonjour à tous, j'ai besoin de votre aide! Voilà, j'arrive à exécuter un programme via php avec la commande "exec". Mais mon souci c'est que rien ne s
fonction exec et argument [ par chgall2 ]
bonjour a tous, je voudrais executer un script shell depuis php et j'ai besoin de vos lumières dans mon code php: exec("sudo /root/scripts/ajout.sh
php exec() problème accent [ par etu54 ]
Bonjour a tous, Mon problème est simple, je veux exécuter une commande avec exec(). Cette commande permet de réunir des fichier pdf mais lorsque le f
[AIDE svp] utilisé exec( ) [ par gaellius95 ]
Bonjour à tous voila j'ai un souci j'ai un script shell qui doit prendre un paramètre que je souhaiterai dans une page php mon script shell est : Ajo
Commande Exec et daemon [ par grosteack ]
Salut tout le monde ! Bon voilà, j'ai un souci : J'ai écrit un daemon en php (une simple boucle infinie quoi) et lorsque je le lance via mon shell,
lancer un script php a partire d'un terminal [ par moha013 ]
bonjour je cherche a savoir comment lancer un script php a partir d 'un terminal , la syntaxe qu'il faut. merci d'avance
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|