【问题标题】:Command-line script PHP does not run命令行脚本 PHP 不运行
【发布时间】:2012-02-16 07:23:18
【问题描述】:

我正在尝试构建一个 PHP 脚本来手动处理数据,以便稍后将其转换为 cronjob。该脚本还从 MySQL 和第三方SOAP 接口获取数据。当我尝试从命令行运行它时出现错误并且脚本没有运行。

它显示:

./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));'

这是我的脚本中的内容:

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

我知道这个脚本有效。怎么了?

【问题讨论】:

    标签: php mysql cron lamp


    【解决方案1】:

    您收到此错误是因为您像 ./script.php 一样执行此脚本。为了确保 PHP 脚本能够正确理解和运行,您必须在脚本顶部包含 #!/usr/bin/php

    例子:

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

    如果 PHP 安装在 /usr/bin 文件夹中。如果没有,你可以使用locate php 命令验证,然后使用正确的路径。

    或者另一种选择是

    php /path/to/script.php
    

    【讨论】:

      猜你喜欢
      • 2012-05-03
      • 1970-01-01
      • 1970-01-01
      • 2016-11-30
      • 2012-03-16
      • 2014-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多