Хорошо, я пытаюсь создать регистратор электронной почты, который использует скрипт оболочки PHP. Я настроил CPanel для отправки писем на мой скрипт. Я уверен, что все это настроено правильно. Однако у меня есть проблемы со сценарием, ну любой сценарий по этому поводу при запуске его из оболочки.
вот пример.
#!/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 */
?>
Очень просто, верно? Чтение из STDIN и запись в файл ... Я думал, что-то не так, по какой-то причине не смог прочитать STDIN. Хостинг-провайдер это позволяет, оба параметра allow_url_open и allow_url_include включены.
При выполнении скрипта через SSH я получаю следующую ошибку:
Не удалось открыть входной файл: âq
Итак, я снова подумал, что это сценарий, который говорит мне, что он не может читать из STDIN
Итак, я попробовал простой скрипт.
#!/usr/local/bin/php –q
<?php
echo 'Hello World';
?>
То же самое:
Не удалось открыть входной файл: âq
Итак, похоже, что программа PHP сообщает мне, что не может открыть скрипт? Скрипт находится в $ HOME / mail / forward (CHMOD 755), а сам скрипт - CHMOD 755, а также файл mail.txt - CHMOD 755
Я действительно в замешательстве.