Enhorabuena por el trabajazo... Como siempre impre[…]

Muchas gracias Kike, ahora en estos días ta[…]

Hola de nuevo Espero que alguien me pueda ayudar.[…]

hola

Hola a todos. Soy nuevo en esto y espero poder ap[…]

Sección General del foro
Por Juan2020
Pi Newbie
#94010
Hola, Soy nuevo programando en la raspberry pi 3 B+ y no se si tenga un error en este codigo :
Código: Seleccionar todo
<html>
<body>
       <from action="" method="post">
       Rojo&nbsp;<input type="submit" name="encender18" value="encender">
       <input type="submit" name="apagar18" value="apagar">
       </p>
       <from action="" method="post">
       Amarillo&nbsp;<input type="submit" name="encender23" value="encender">
       <input type="submit" name="apagar23" value="apagar">

</body>
</html>
<?php
if ($_POST[encender18]){
$a- exec("sudo /var/www/html/encender18.py");
echo $a;
}
if ($_POST[apagar18]){
$a- exec("sudo python /var/www/html/apagar18.py");
echo $a;
}
if ($_POST[encender23]){
$a- exec("sudo python /var/www/html/encender23.py");
echo $a;
}
if ($_POST[apagar23]){
$a- exec("sudo python  /var/www/html/apagar23.py");
echo $a;
}
?>

ese es mi código, los archivos .py los cree en esa carpeta, pero por alguna razón no los ejecuta, no se que tenga mal , ya probe los codigos por aparte y se ejecutan bien pero al abrir la pagina desde mi pc no se ejecutan, escuche algo sobre la seguridad de la rasp o del php, pero no tengo muy claro eso, algún consejo que me den?
Gracias :D
Avatar de Usuario
Por maikel57
Pi Alpha
#94011
@Juan2020 Has comprobado los permisos de ejecución? SObre que servidor WEB estás trabajando Apache? Nginx?
Mira también el propietario de esos archivos, al estar bajo un directorio "web" que gestiona apache/nginx deben tener unos permisos especiales.
Juan2020 les gusta esto
Avatar de Usuario
Por maikel57
Pi Alpha
#94281
Yo intentaría ejecutar el comando internamente..

Sobre los permisos, el propietario tiene que ser www-data y con permiso de ejecución
Código: Seleccionar todo
sudo chown www-data:www-data /var/www/tuprograma.py
sudo chmod +x /var/www/tuprograma.py
A parte luego intenta seguir esta sintaxis... igual te ayuda
Donde:
Código: Seleccionar todo
<?php
$salida = shell_exec('/var/www/tuprograma.py');
echo "<pre>$salida</pre>";
?>
Otra opción aunque sea un poco mas laborioso pero es una manera cómoda de manejar tu raspi mediante código es usar Node-Red, es muy visual y cómodo para estas cosas, controlando con botones y funciones simples toda la raspi...

Espero que te haya aclarado algo! :idea