[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: Le shell d'Apache/PHP sous Mandrake



Bonjour à vous.

> Comment Mandrake s'arrange-t-il pour exécuter une commande shell dans
> Apache/PHP?

En fait, c'est plutôt Apache/PHP qui lance une commande shell de
Mandrake.

>
> Une simple commande PHP comme
>
>    system("ls *");
> ou
>    system("/bin/ls *");
>
> donne invariablement dans mon /var/log/httpd/error_log la ligne
> suivante:
>
>    sh: line 1: 1/ls: No such file or directory
>
> À quoi fait référence ce "1" devant ls?
>
> Merci.

Faites d'abord la commande suivante:

>which sh

Le résultat devrait être: /bin/sh

La première ligne d'un script shell doit toujours commencer
par la commande: #!/bin/sh

Assurez-vous que l'utilisateur qui démarre votre serveur
apache (nobody ou www, etc...) a accès au shell.

Faites les commandes suivantes (en étant root):
(si nobody est le user utilisé par Apache)

root#> su - nobody
nobody$ which sh
Le résultat devrait être: /bin/sh
nobody$ /bin/sh ls -l
devrait fonctionner. Sinon, tapez: exit pour revenir
à root, et faites:

chmod +x /bin/sh
chmod +r /bin/sh


Salutations!

__________________________________________________
Real Melancon
Network/Unix Admin.
Internet Expresso





* * * Courriel protégé par Internet Expresso AntiVirus * * *