Ok, estoy intentando para crear un registrador de correo electrónico, que utiliza un script de shell PHP. He configurado CPanel para canalizar correos electrónicos a mi script. Estoy seguro de que todo esto está configurado correctamente. Sin embargo, estoy teniendo problemas con el script, así como con cualquier script al momento de ejecutarlo desde el shell.Problemas con un script de shell de PHP: "No se pudo abrir el archivo de entrada"
aquí hay un ejemplo.
#!/usr/local/bin/php –q
<?php
/* Read the message from STDIN */
$fd = fopen("php://stdin", "r");
$email = ""; // This will be the variable holding the data.
while (!feof($fd)) {
$email .= fread($fd, 1024);
}
fclose($fd);
/* Saves the data into a file */
$fdw = fopen("mail.txt", "w+");
fwrite($fdw, $email);
fclose($fdw);
/* Script End */
?>
Real simple, ¿no? Lea de STDIN y escriba en un archivo ... Pensé que algo andaba mal, que no podía leer STDIN por algún motivo. El proveedor de alojamiento lo permite, allow_url_open y allow_url_include están ambos encendidos.
Al ejecutar la secuencia de comandos a través de SSH me sale el siguiente error: No se pudo abrir archivo de entrada: AQ
Así que una vez pensé que era el guión que me dice, es decir, no se pudo leer de STDIN
Así que probé un simple script.
#!/usr/local/bin/php –q
<?php
echo 'Hello World';
?>
La misma cosa: No se pudo abrir archivo de entrada: AQ
Así que parece que el programa PHP me está diciendo que no es capaz de abrir el guión? El script se encuentra en $ HOME/mail/forward (CHMOD 755) y el script en sí es CHMOD 755, y el archivo mail.txt es CHMOD 755 . Estoy realmente perplejo con esto.
¿Qué editor de texto usas para el código php? El "-" en tu "-q" parece un en-tablero en lugar de un signo menos. –