# Executer un .sh en php

**URL:** <https://www.debian-fr.org/t/executer-un-sh-en-php/60395>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 7:36 UTC](https://www.debian-fr.org/t/executer-un-sh-en-php/60395 "2016-02-21T19:36:28Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![casimir](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/f17d59/32.png) [@casimir](https://www.debian-fr.org/u/casimir)\
**Post date:** [Février 21, 2016, 7:36 UTC](https://www.debian-fr.org/t/executer-un-sh-en-php/60395/1 "2016-02-21T19:36:28Z")

</div>

J’ai donc un petit script dans /usr/bin  
j’execute en php le script mais aucun message d’erreur, rien pour me mettre sur la piste

[code]

\<?php $output=shell\_exec('/usr/bin/sauvgardesSQL.sh'); echo '
```
**'.$output.'**
```
'; ?\>[/code]

---

<div class="post-metadata">

**Author:** ![casimir](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/f17d59/32.png) [@casimir](https://www.debian-fr.org/u/casimir)\
**Post date:** [Février 21, 2016, 7:36 UTC](https://www.debian-fr.org/t/executer-un-sh-en-php/60395/2 "2016-02-21T19:36:30Z")

</div>

J’ai rajouter de quoi voir la sortie du script avce 2\>&1  
et resultat

```auto

```

donc safe\_mode a voir, je cherche un peu pour voir

---

<div class="post-metadata">

**Author:** ![casimir](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/f17d59/32.png) [@casimir](https://www.debian-fr.org/u/casimir)\
**Post date:** [Février 21, 2016, 7:36 UTC](https://www.debian-fr.org/t/executer-un-sh-en-php/60395/3 "2016-02-21T19:36:30Z")

</div>

J’ai donc ce rendu: donc le script est bien lancer

/usr/bin/sauvgardesSQL.sh: 4: cannot create /home/justclo/backup041118.sql: Permission denied

Dans /etc/sudoer j’ai mit

www-data ALL=(ALL) NOPASSWD: /home/pc/public\_html/SH/lancerSH.php

j’ai relancer sudo  
mais meme erreur

---

<div class="post-metadata">

**Author:** ![casimir](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/f17d59/32.png) [@casimir](https://www.debian-fr.org/u/casimir)\
**Post date:** [Février 21, 2016, 7:36 UTC](https://www.debian-fr.org/t/executer-un-sh-en-php/60395/4 "2016-02-21T19:36:31Z")

</div>

J’ai rajouter sudo dans le script et les droits dans sudoer

www-data ALL=(ALL) NOPASSWD: /usr/bin/sauvgardesSQL.sh

$output=shell\_exec(‘sudo [sauvgardesSQL.sh](http://sauvgardesSQL.sh)’);

C’est génial tout ca !

---

<div class="post-metadata">

**Author:** ![casimir](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/f17d59/32.png) [@casimir](https://www.debian-fr.org/u/casimir)\
**Post date:** [Février 21, 2016, 7:36 UTC](https://www.debian-fr.org/t/executer-un-sh-en-php/60395/5 "2016-02-21T19:36:31Z")

</div>

Pensez vous que c’est pareil que je le mette dans apache puisque ca marche pareil.  
Il n’y a pas plus de risque coté sécurité ?

[code]www-data ALL=(ALL) NOPASSWD: /home/justclo/public\_html/facturier2/SH/sauvgardes$

$output=shell\_exec(‘sudo /home/justclo/public\_html/SH/sauvgardesSQL.sh 2\>&1’);

[/code]

---

<div class="post-metadata">

**Author:** ![agentsteel](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/97f17d/32.png) [@agentsteel](https://www.debian-fr.org/u/agentsteel)\
**Post date:** [Février 21, 2016, 7:36 UTC](https://www.debian-fr.org/t/executer-un-sh-en-php/60395/6 "2016-02-21T19:36:34Z")

</div>

c’est pas propre du tout ![:118](https://www.debian-fr.org/uploads/default/original/1X/d1e19597f004a3fd88435bfd0efb9a00e740a16a.gif "langue-yeux")

regarde un peu ce sujet pour des solutions éventuelles

[demarrer-teamviewer-en-php-t44715.html](http://www.debian-fr.org/demarrer-teamviewer-en-php-t44715.html)

---

<div class="post-metadata">

**Author:** ![casimir](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/f17d59/32.png) [@casimir](https://www.debian-fr.org/u/casimir)\
**Post date:** [Février 21, 2016, 7:36 UTC](https://www.debian-fr.org/t/executer-un-sh-en-php/60395/7 "2016-02-21T19:36:34Z")

</div>

Je peut mettre le script dans /usr/local/bin, j’ai tester et ca marche pareil.  
Le probleme de la proposition précédente pour toi c’est que j’ouvre des acces a apache ou c’est la sécurité de de la machine ?

Je lit le script en “c” ? je ne connait rien en c, je vois librairies en appel de script et la compilation avec gcc  
avec ce script modifié pour son usage, cela évite de modifier “sudoers” c’est bien cela.  
c’est suoi donc  
"argument\_eventuel\_1" , (char \*) 0);  
Je vais tester pour voir. merci
