2011-02-07 15 views
5

Próbuję ustawić bardzo proste zadanie crona na hoście WWW. Mam cron.php uruchamiane co minutę. Teraz, w celach testowych, cron.php jest po prostu tak:PHP error line 1: `<?php ?> '

<?php ?>

A teraz każda minuta, jestem otrzymaniu maila cron z tych błędów:

//home/user/public_html/mysite/cron.php: line 1: syntax error near unexpected token newline

//home/user/public_html/mysite/cron.php: line 1: <?php ?>

Czy ten serwer ma problemy z uzyskaniem dostępu do PHP z wiersza poleceń, czy jest jakiś inny problem, którego nie widzę?

Również stałam podobnie dziwne błędy podczas próby dodania w rzeczach jak echo "test"; lub nawet tylko phpinfo();

Odpowiedz

9

nie masz linię shebang, więc próbuje uruchomić skrypt przy użyciu domyślnej powłoki.

Dodaj #!/usr/bin/php (lub gdziekolwiek jest PHP) na początek skryptu.

+0

Gdzie to się dzieje? Na szczycie crontabu? –

+0

Mam to, połączyłem twoją odpowiedź z tą i mam już wszystko! http://stackoverflow.com/a/2689317/1242298 The shebang to zrobił! Dzięki! –

+0

Greate. to działa dobrze –

1

dla crona zwykle trzeba określić plik wykonywalny w wierszu cmd /path/to/executable.php //path/to/file.php

środowisko jest prawdopodobnie odsyłania znaku błąd, ponieważ nie wie, co to jest php i co z nim zrobić:

1

Spróbuj dodać "#!/usr/bin/env php" jako pierwszy wiersz w pliku .php. env znajdzie i uruchomi php dla ciebie. Mam nadzieję, że to działa.

+0

Upewnij się także, że używasz końcówek linii UNIX, jeśli edytujesz plik w systemie Windows – Antony

0

Może wątek jest trochę troche stary, ale wiem, że to komuś pomoże. Miałem ten sam błąd na crona następnie Utworzyłem cron jak ktoś odwiedzenia mojej strony, dodałem tej linii poleceniem:

wget http://www.mywebsite.com/xml/Cron.php > /dev/null 

zmienić adres webiste i ścieżkę do skryptu.

Z pozdrowieniami, Ivan