2016-10-21 6 views
1

В командной строке Шпатлевка я пишуЗапуск PHP в Putty дает «Не удалось открыть входной файл»

/usr/bin/php /var/www/html/folder/file.php 

Также попробуйте

php /var/www/html/folder/file.php 

Оба дают «Не удалось открыть входной файл»

Разрешающая способность для файла - 777. Операционная система - UNIX

PHP-скрипт:

<?php 

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; 
$headers .= 'From: CRON'; 

mail('[email protected]','CRON',"<b>THIS IS SIMULATION TEST</b>",$headers); 


?> 
+0

Извините, что задал глупый вопрос, но вы подтвердили, что файл на самом деле там? Кроме того, возможно, попробуйте получить доступ с использованием относительного пути. –

+0

Да). В дополнение к этому я могу запустить его через браузер –

+0

А как насчет использования относительного пути? I.e., если вы cd в/var/www/html/folder и запустите его оттуда. –

ответ

2

Это иногда происходит, когда у вас есть новая строка окончаний Windows (\ г \ п) вместо Unix стиля (\ п) внутри или хрон файл PHP.

Fix: преобразовать окончаний строк в стиле Unix

dos2unix /var/www/html/folder/file.php

или

sed -i 's/\r//' /var/www/html/folder/file.php

или

помощью редактора, такого как Notepad++ конвертировать EOL:

  1. открыть файл в блокноте ++
  2. дважды щелкните "Dos/Windows" в правом нижнем углу
  3. изменения в "формат UNIX/OSX"
  4. Сохранение, выгрузка и тестирование

.

Помните, что сделайте это как для файла PHP, так и для файла, содержащего ваши команды cron.

+0

У меня нет контуров новой строки. Только 1 строка адреса файла –

+0

У вас есть строка #!/Usr/bin/php в верхней части файла .php? – c4n

+0

И я имею в виду концы строк в файле PHP, а не в командной строке. – c4n

0

Использовать относительный путь. I.e., если вы cd в/var/www/html/folder и запустите его оттуда.

+0

Мне нужно запустить его по абсолютной траектории. Поскольку это будет выполняться cronjob –

+0

Я вижу это, я думаю, @Tarlan ответил в комментариях. –

+0

Теперь, это есть))))) –