使用plesk 10.3.1作为cron的php脚本

时间:2012-03-13 14:49:35

标签: php cron plesk

我一直在运行一个简单的php脚本(将其运行时间记录在文本日志文件中)。从浏览器运行正常,但我在我的plesk 10.3.1面板中使用计划任务如下:

*/5 *   *   *   *   php /var/www/vhosts/eblogs.co.uk/httpdocs/frostbox/cron/crone_test.php

它会在五分钟后立即运行,但不会在文本文件中写入任何内容,并通过电子邮件向我发送以下通知消息:

php [-f from_encoding] [-t to_encoding] [-s string] [files...]
php -l
php -r encoding_alias
 -l,--list
    lists all available encodings
 -r,--resolve encoding_alias
   resolve encoding to its (Encode) canonical name
 -f,--from from_encoding
    when omitted, the current locale will be used
 -t,--to to_encoding
    when omitted, the current locale will be used
 -s,--string string
    "string" will be the input instead of STDIN or files
The following are mainly of interest to Encode hackers:
 -D,--debug          show debug information
 -C N | -c | -p      check the validity of the input
 -S,--scheme scheme  use the scheme for conversion

我应该在以下几行中添加什么内容?

php /var/www/vhosts/eblogs.co.uk/httpdocs/frostbox/cron/crone_test.php

3 个答案:

答案 0 :(得分:1)

你得到的文字是piconv的用法信息。这与脚本语言PHP完全无关。您可能想要做的是以下之一:

备选方案1:使用PHP命令行解释器

您需要在系统上调用实际的php解释器。这可能是/usr/bin/php5,因此您的crontab行看起来像

*/5 *   *   *   *   /usr/bin/php5 /var/www/vhosts/eblogs.co.uk/httpdocs/frostbox/cron/crone_test.php

但是并非每个安装程序都安装了此命令行解释程序。可能只会安装apache模块。

备选方案2:使用HTTP(S)请求

如果您没有权限安装命令行工具,请查看是否安装了wget或curl。如果是这样,您可以使用它们通过向Web服务器发送请求来调用脚本。

使用wget:

/usr/bin/wget -O /dev/null 'http://eblogs.co.uk/crone_test.php'

-O /dev/null告诉它将您的脚本生成的网页保存在/dev/null中。它是一个特殊的文件,基本上会立即忘记写入它的所有数据。因此,此参数可以避免创建具有网页内容的任何新文件,并且该文件位于服务器的文件系统中。

使用curl:

/usr/bin/curl -o /dev/null 'http://eblogs.co.uk/crone_test.php'

-o /dev/null在此处具有与wget上面具有大写O的版本相同的功能。

答案 1 :(得分:0)

在php脚本的顶部添加以下内容:

#!/usr/bin/php
<?php
  your code here
?>

(假设php存在于/ usr / bin)

希望有所帮助!

答案 2 :(得分:0)

你可以使用“curl”......像这样:

curl "http://eblogs.co.uk/crone_test.php"