2011-02-07 20 views
5

Sto tentando di impostare un processo cron molto semplice su un host web. Ho cron.php impostato per funzionare ogni minuto. In questo momento, a scopo di test, cron.php è semplicemente questo:Errore PHP riga 1: `<?php ?> '

<?php ?>

E ora, ogni minuto, sto ricevendo l'e-mail cron con questi errori:

//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 ?>

È difficile che questo server acceda a PHP dalla riga di comando o ci sono altri problemi che non vedo?

Inoltre, ho ottenuto gli errori simile strani quando si cerca di aggiungere cose come echo "test"; o anche solo phpinfo();

risposta

9

Non hai shebang, quindi sta cercando di eseguire lo script utilizzando la shell di default.

Aggiungi #!/usr/bin/php (o dove PHP è) all'inizio dello script.

+0

Dove va? Nella parte superiore del crontab? –

+0

Capito, combina la tua risposta con questa e l'hai fatta! http://stackoverflow.com/a/2689317/1242298 Lo ha fatto lo shebang! Grazie! –

+0

Greate. funziona bene –

1

per i lavori cron normalmente necessario specificare il file eseguibile nella linea di cmd /path/to/executable.php //path/to/file.php

l'ambiente è probabilmente tornando l'errore di token perché non sa cosa php è o cosa fare con esso

1

Prova ad aggiungere "#!/usr/bin/env php" come prima riga nel tuo file .php. env troverà e lancia php per te. Spero funzioni.

+0

Assicurati inoltre di utilizzare le terminazioni di riga UNIX, se stai modificando il file in Windows – Antony

0

Forse il thread è un po 'vecchio ma so che aiuterà qualcuno. Ho avuto lo stesso errore sui posti di lavoro cron poi ho creato cron come qualcuno visitare il mio sito, ho aggiunto questa riga nel comando:

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

Modificare l'indirizzo del webiste e il percorso allo script.

Cind regards, Ivan