我一直在运行一个简单的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
答案 0 :(得分:1)
你得到的文字是piconv的用法信息。这与脚本语言PHP完全无关。您可能想要做的是以下之一:
您需要在系统上调用实际的php解释器。这可能是/usr/bin/php5
,因此您的crontab行看起来像
*/5 * * * * /usr/bin/php5 /var/www/vhosts/eblogs.co.uk/httpdocs/frostbox/cron/crone_test.php
但是并非每个安装程序都安装了此命令行解释程序。可能只会安装apache模块。
如果您没有权限安装命令行工具,请查看是否安装了wget或curl。如果是这样,您可以使用它们通过向Web服务器发送请求来调用脚本。
/usr/bin/wget -O /dev/null 'http://eblogs.co.uk/crone_test.php'
-O /dev/null
告诉它将您的脚本生成的网页保存在/dev/null
中。它是一个特殊的文件,基本上会立即忘记写入它的所有数据。因此,此参数可以避免创建具有网页内容的任何新文件,并且该文件位于服务器的文件系统中。
/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"