User avatar
falimero
Posts: 17
Joined: Wed Dec 12, 2012 9:04 pm
Location: Mulhouse
Contact: Website

WiringPi et PHP

Mon Dec 17, 2012 11:00 pm

Bonjour,

je viens vers vous car je débute avec mon pi et je ne trouve pas la solution :evil:

J'ai installé un serveur web avec lighttpd et php. j'ai aussi installer WiringPi.

Jusque la tout va bien. WiringPi fonctionne très bien :

Code: Select all

[email protected] ~ $ sudo -u www-data gpio mode 1 out
[email protected] ~ $ sudo -u www-data gpio write 1 1
et ma led s'allume. Mais voila, je met ceci dans un code php que j’exécute depuis une page web et ca ne fonctionne pas.

Code: Select all

<?php
error_reporting(E_ALL);
$commande1 = "gpio mode 1 out";
$commande2 = "gpio write 1 1";
exec($commande1, $output1);
exec($commande2, $output2);
?>
chose étrange, je le fait depuis php-cli, cela fonctionne.

Code: Select all

sudo -u www-data php /var/www/action.php
Je me dirais que c'est un problème de paramétrage de lighttpd, mais je ne vois pas ...

J'ai besoin d'un coup de pouce :)

D'avance merci
Falimero
Falimero - http://falimero.fr

User avatar
SladerZ
Posts: 68
Joined: Mon Jul 30, 2012 8:55 am
Location: France
Contact: Website

Re: WiringPi et PHP

Tue Dec 18, 2012 10:01 am

Es-tu sur que le module php est bien géré par lighttpd ?

User avatar
falimero
Posts: 17
Joined: Wed Dec 12, 2012 9:04 pm
Location: Mulhouse
Contact: Website

Re: WiringPi et PHP

Tue Dec 18, 2012 10:44 am

D'autre page PHP fonctionne très bien oui
Falimero - http://falimero.fr

mebepi
Posts: 84
Joined: Thu Aug 02, 2012 10:32 pm

Re: WiringPi et PHP

Tue Dec 18, 2012 10:53 am

lorsque vous exécutez votre code en ligne de commande, celui-ci recherche l'emplacement de la commande gpio grâce à la variable d'environnement PATH.

Or, à mon avis, en l'éxécutant en PHP la variable PATH est ignorée ou inexistante.

Je vous conseille donc de spécifier le chemin complet d'accès vers la commande gpio dans votre ligne de commande PHP et refaire un test.

Exemple:

Code: Select all

$commande1 = "/usr/bin/gpio mode 1 out";
$commande2 = "/usr/bin/gpio write 1 1";
J'ai mis /usr/bin au hasard, à vous de l'adapter pour refléter le chemin d'accès correcte.
Vous pouvez vous aider de la commande find pour le trouver.

User avatar
falimero
Posts: 17
Joined: Wed Dec 12, 2012 9:04 pm
Location: Mulhouse
Contact: Website

Re: WiringPi et PHP

Tue Dec 18, 2012 1:27 pm

je n'ai aps résolu le problème mais je l'ai contourné. en effet, comme je pensait il s'agit d'un problème lighttpd et/ou permissions. j'ai desinstallé lighttpd et installer un serveur Nginx (via) . et la tout marche a merveille.

donc sur le principe je suis content, sur la forme je n'ai pas d'explication ... j'aurais bien aimé la trouver quand meme :) je vais installer raspbian sur une seconde SD pour faire des tests
Falimero - http://falimero.fr

Return to “Français”