2012-01-22 5 views
13

sto cercando di costruire uno script php per elaborare i dati manualmente da convertire successivamente in un cronjob. questo script anche ottenere i dati da mysql e 3 ° di sapone partito. quando provo a lanciarlo da linea di comando che ho un errore e lo script non viene eseguito.comando script php linea non viene eseguito

mostra:

./test.php: line 1: ?php: No such file or directory 
Enter a number: 
./test.php: line 5: syntax error near unexpected token `(' 
./test.php: line 5: `$line = trim(fgets(STDIN));' 

ecco quello che ho nel mio script:

echo 'Enter a number:'; 
    $line = trim(fgets(STDIN)); 
    var_dump($line); 

so che questo script funziona, ciò che è sbagliato?

risposta

18

si ottiene questo errore perché si esegue questo script come ./script.php. Al fine di assicurarsi che lo script PHP comprendere ed eseguire correttamente, è necessario includere questa #!/usr/bin/php nella parte superiore dello script.

Esempio:

#!/usr/bin/php 
<?php 
echo 'Enter a number:'; 
$line = trim(fgets(STDIN)); 
var_dump($line); 

se PHP è installato nella cartella/usr/bin, in caso contrario, è possibile verificare con il comando locate php e quindi utilizzare la strada giusta.

o l'altra alternativa sarà

php /path/to/script.php