[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bash, php Y gnokii



El 28 de agosto de 2011 00:13, Felix Perez <felix.listadebian@gmail.com> escribió:
El día 27 de agosto de 2011 03:25, rantis cares
<rantiscares@gmail.com> escribió:
> Listeros:
>
> Buenas noches tengan todos ustedes.
>
> El motivo de mi mail es por lo siguiente:
>
> Hace tiempo instale un servidor con apache, php y gnokii, enviaba
> mensajes automaticos para revisar errores o fallo en la energia
> electrica, etc...
>
> Ahora tengo la necesidad de meter un numero, un mensaje, esto lo he
> realizado mediante un formulario html, donde use un "input name" lo
> llame numero y despues un "textarea" donde va el mensaje. Mientras que
> el boton de "Enviar SMS" se basa en <form method="post"
> action=""> >
> Posteriormente, buscando en internet, me encontre que el php seria muy
> sencillo, lo copie y lo guarde, lo subi a ese servidor para que cuando
> se llene el formulario y se presione el boton "Enviar SMS" se ejecute
> gnokii enviando el mensaje.
>
> Cuando yo ejecuto el comando directo en la consola de comandos del
> servidor mediante ssh o si estoy frente a dicho servidor la accion se
> realiza como lo muestro a continuacio:
>
>
> echo "El sistema funciona bien" | gnokii --sendsms 5535423453
>
> Y el mensaje llega perfectamente a los pocos segundos y sin ningun
> problema. Ahora que lo quiero hacer via web mediante el formulario y
> el script php, no me arroja ningun error pero no lo envia. Tal vez el
> script tiene algun error o algo por el estilo.
>
> ¿Algun comentario que pudiera guiarme para encontrar dicho problema?.
>
> El scrip php es el siguiente:
>
> <?php
> //INICIO DEL SCRIPT PHP
>
> system('echo '.escapeshellarg('$mensaje').' | gnokii --sendsms
> '.escapeshellarg('$numero'));
>
> ?>
>
> Al no funcionar el script anterior, lo midifique y quedo de la siguiente manera:
>
> <?php
> //INICIO DEL SCRIPT PHP
>
> $numero=$_POST['numero'];
> $mensaje=$_POST['mensaje'];
>
> system('echo '.escapeshellarg('$mensaje').' | gnokii --sendsms
> '.escapeshellarg('$numero'));
>
> ?>
>
> Pero tampoco funciono.
>
> Gracias
>
> Rantiscares
>
> P.D. Espero que esto no sea OT.
>

una más:
http://www.google.cl/#sclient=psy&hl=es&biw=1366&bih=608&source=hp&q=listas+php&pbx=1&oq=listas+php&aq=f&aqi=g1g-s1g2g-s1&aql=&gs_sm=e&gs_upl=934l3413l0l3531l10l9l0l0l0l0l640l3680l2-1.2.2.3l8l0&bav=on.2,or.r_gc.r_pw.&fp=70430f521998e5e5


--
usuario linux  #274354
normas de la lista:  http://wiki.debian.org/es/NormasLista
como hacer preguntas inteligentes:
http://www.sindominio.net/ayuda/preguntas-inteligentes.html


--
To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] CAAiZAx4ukL4_YQEZxyroygFju_rhsWWhnFyTP1B-MdVu2CgpZg@mail.gmail.com" target="_blank">http://lists.debian.org/[🔎] CAAiZAx4ukL4_YQEZxyroygFju_rhsWWhnFyTP1B-MdVu2CgpZg@mail.gmail.com


Yo lo descubrí hace poco, que php no se puede usar con pipes (| ), y lo resolvi haciendo un script en bash:

enviarsms.sh
#!/bin/sh
echo $1 | gnokii --sendsms $2

A eso le das permiso de ejecucion, por lo menos como www-data:

chown www-data:www-data enviarsms.sh
chmod ug+x enviarsms.sh

y desde el php:

<?php
//INICIO DEL SCRIPT PHP

$numero=$_POST['numero'];
$mensaje=$_POST['mensaje'];

system( dirname(__FILE__) .   '/enviarsms.sh  '.escapeshellarg('$mensaje') . ' ' . escapeshellarg('$numero'));

?>

Por otro lado fijate que PHP no este en safe_mode, que en ese caso no funcionarian las funciones cms, exec, syste, etc.

--
El Tio ~ Programador, hacker y filósofo
web: http://blog.exodica.com.ar
Linked'in: http://www.linkedin.com/in/ogentilezza
Twitter: @exos, Indeti.ca: @exos
Tels: [+54 11] 638-LINUX (54689) - [+54 9 11] 6799-4797


Reply to: