【问题标题】:/bin/sh: 0: command not found/bin/sh: 0: 找不到命令
【发布时间】:2013-05-16 03:58:00
【问题描述】:

我有以下问题,我的PHP脚本是这样的:

#!/usr/bin/php
<?PHP

 // Define the path to file
 $file = 'mydb.sql';

 if(!file)
  {
    // File doesn't exist, output error
    die('file not found');
  }
  else
  {
    // Set headers
    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Disposition: inline; filename=$file");
    header("Content-Type: application/x-sql ");
    header("Content-Transfer-Encoding: binary");

    // Read the file from disk
    readfile($file);
   }
?>

现在我想通过 crontab 调用我的 PHP 脚本,我的 cron 命令是:

0 0 * * * /web/conf/ -q /home/content/81/10928381/html/dumper/work/backup/pr_download.php

但是为什么,每次我运行我的脚本时,它总是向我发送一条错误消息: /bin/sh: 0: 找不到命令

你们能帮帮我吗?

谢谢

【问题讨论】:

  • if(!file)更改为if(!$file)

标签: php shell


【解决方案1】:

/web/conf/ 是什么?您在这里缺少一个可执行命令...您想要wget 吗?

如果您想使用您的 php 可执行文件,请查看可执行文件的位置。例如/usr/sbin/php

然后做

0 0 * * * /usr/sbin/php -f /home/content/81/10928381/html/dumper/work/backup/pr_download.php

【讨论】:

  • 我不知道我的 PHP 可执行文件的位置,PHP.ini 的位置是否与 PHP 可执行文件的位置相同?
  • @PruusianEkaP 不一定。它通常类似于 /usr/sbin/php 、 /bin/php 、 /usr/local/bin/php 或类似的东西。搜索它。 (也可以尝试使用locate /php 找到它)
【解决方案2】:

试试这个

php -f /home/content/81/10928381/html/dumper/work/backup/pr_download.php  >> /tmp/script_log.log

【讨论】:

  • 我已经尝试了你的命令,但它对我的脚本没有任何影响。
  • 对不起,当我写我的第一个评论时我错了,你的脚本确实有效。但是,我不检查我的 /tmp 文件夹。谢谢
【解决方案3】:

我想我在尝试将 Windows 文件(DOS 格式)作为脚本执行时遇到了同样的错误。

试试这个:

dos2unix pr_download.php

然后尝试再次运行您的脚本。

让我知道它是否有效。

【讨论】:

    猜你喜欢
    • 2021-11-13
    • 2019-04-19
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多