CURL、WGET和PHP Cronjob的区别是什么?


What is the differance between CURL, WGET and PHP Cronjob

我正在尝试创建一个cronjob,但我不知道这些行之间有什么区别,也不知道应该使用哪一行才能使cronjob正常工作。

0 0 * * * /usr/bin/php5.5 /website/cron.php
0 0 * * * /usr/bin/curl /website/cron.php
0 0 * * * /usr/bin/wget /website/cron.php

现在我需要知道哪一个有效,我确信我的服务器已经安装了CURL和WGET,使用命令行:

whereis wget
whereis curl

但是当我尝试创建一个简单的php文件来发送电子邮件时,只有这段代码为我工作:

0 0 * * * /usr/bin/php5.5 /website/cron.php 

那么该怎么办呢?

CURL

curl是一个从服务器传输数据或向服务器传输数据的工具支持的协议

语法是

curl [oprions] URL

URL语法依赖于协议。你会找到详细的描述rfc3986 .

wget 的情况与

类似

wget [options] URL

都将通过HTTP向weserver的php模块提交请求,该模块只返回调用php编译器。要在cron中使用,cron.php必须位于可以通过HTTP

请求的位置。

0 0 * * * /usr/bin/curl http://web-url/cron.php
0 0 * * * /usr/bin/wget http://web-url/cron.php

,

0 0 * * * /usr/bin/php5.5 /website/cron.php

可以简单地用于运行服务器

上本地可用的PHP脚本。

curlwget应该发送http请求(如下载文件/发布数据等)

cron.php是一个php文件。你应该始终使用php(无论版本)来执行它。

这就是为什么只有0 0 * * * /usr/bin/php5.5 /website/cron.php工作。

如果你真的想使用curlwget,这里有一个例子:

0 0 * * * /usr/bin/curl --silent http://youwebsite.com/cron.php &>/dev/null