2011-08-02 15 views
5

Tengo un script PHP que deseo invocar en alguna acción de formulario.¿Qué significa "redirección de salida ambigua"?

Este comando funciona bien:

/usr/local/bin/php -q script.php > /dev/null 2>&1 & 

Pero todo sale mal cuando agrego argumentos en el comando:

/usr/local/bin/php -q script.php --var=value > /dev/null 2>&1 & 

devuelve "redirección de salida ambigua".

He leído este artículo http://www.xaprb.com/blog/2006/06/06/what-does-devnull-21-mean/ también, y he intentado casi todo lo posible por lo que puedo entender, y todavía no tengo ni idea de cómo solucionarlo.

Por favor, ayúdame.

+0

Funciona sin --var ?, simplemente "/ usr/local/bin/php -q locales script.php valor>/dev/null 2> & 1 &" , y obténgala desde la matriz $ argv – sukinsan

+0

¿Qué shell estás usando? – jw013

+0

Estoy usando el shell estándar de FreeBSD –

Respuesta

4

que asumen que está utilizando csh o una de sus variantes, utilice:

... >&/dev/null 
+0

no, estoy usando el comando PHP shell_exec simple con /usr/local/bin/php -q script.php --var = value>/dev/null 2> & 1 y y devuelve el resultado ambiguo redirigir –

+0

pero el shell_exec termina llamando a una concha 'real' ;-). Haz un comando php como shell_exec ('Echo $ SHELL') y haznos saber la salida. O si sabe que está llamando a bash, entonces díganos eso. Buena suerte. – shellter

0

¿El siguiente trabajo por usted:

/usr/local/bin/php -q script.php --var=value > /dev/null 2>/dev/null & 
+0

ya probé esto, no funcionó ... por favor, ayúdenme si alguien puede darme un poco de información (un poco más detallada) cómo funciona esto ... y cómo podemos hacer un uso práctico de él. –

1

Usted debe intentar esto:

/usr/local/bin/php -q script.php --var=value > &1 & 

Y cuéntenos las consecuencias de ejecutar este comando.

¿Le da salida redirigida adecuadamente?

creo que este error es de alguna manera relacionada con derechos de usuario en el sistema operativo. Ejecuté exactamente el mismo comando en un entorno de prueba ejecutando AiX usando el usuario raíz y funcionó bien, pero una vez que lo intenté como otro usuario, recibí el "error de redireccionamiento ambiguo".

O bien el usuario no tiene acceso a los permisos de acceso de puntero o STDERR, stdout restricto redirección encadenamiento de alguna manera.

Espero que esto ayude. EDIT: Tal vez este enlace puede ayudar: http://www.faqs.org/faqs/unix-faq/faq/part2/section-9.html

Cuestiones relacionadas