Comment utiliser PHP pour exécuter un script sur mon serveur Ubuntu? Le site est évidemment hébergé sur le même ordinateur.
J'ai lu exec_shell()
et essayé ceci
<?php
$output = shell_exec("ls /var/www");
echo "<h1>Output: " . $output . "</h1>";
?>
Mais cela ne fait écho à rien sur le site, ai-je mal compris la fonction?
Le plan consiste à exécuter un script sur mon ordinateur Ubuntu, en redémarrant quelques serveurs de jeu lorsque je clique sur un bouton du site Web.
/var/www
. Vérifiez les permissions retournées avecls -ld /var/www
dans shell, essayez peut-être aussi différentes commandes dansshell_exec()
.$output = shell_exec('ls /var/www');
etecho "<h1>Output: $output</h1>";
, c'est comme ça que le manuel le fait.shell_exec()
commandes?<h1>Output:</h1>
dans le navigateur - ne pas?Réponses:
J'ai testé votre code et il fonctionne correctement sur mon serveur. Il donne la sortie suivante:
Ce sont les dossiers dans / var / www
Je pense que vous pouvez avoir un problème de privilèges. Que se passe-t-il si vous essayez avec cette commande:
Vous pouvez également vérifier si quel utilisateur est utilisé par apache / nginx
S'il vous plaît inclure des captures d'écran de vos résultats.
la source
passthru();
semble bien fonctionner, mais shell_exec ne fonctionne toujours pas. À l'aide de passhthru, j'ai découvert qu'apache utilisait www-data comme utilisateur