CURL、WGET 和 PHP Cron Job 之间有什么区别

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 

那怎么办?

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

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

CURL

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

语法是

curl [oprions] URL

URL 语法依赖于协议。你会找到一个详细的描述- RFC 3986 中的灰化。

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 脚本本地