带有curl的Cronjob php文件在浏览器中工作,但在crontab中工作错误
我有一个文件带有curl的Cronjob php文件在浏览器中工作,但在crontab中工作错误,php,mysql,curl,crontab,Php,Mysql,Curl,Crontab,我有一个文件cron.php,里面有一个CURL函数。 CURL函数从我的数据库中的不同网站写入内容。 如果我在浏览器中调用它,它可以正常工作,但在cron作业中,它会将错误的内容从站点写入我的数据库 php文件中的crontab和CURL之间是否存在问题 更新 旋度函数: function CurlPost($sURL,$sMessage = "") { $cookie_file_path = "cookies/cookies.txt"; print_r($sMessage)
cron.php
,里面有一个CURL
函数。
CURL
函数从我的数据库中的不同网站写入内容。
如果我在浏览器中调用它,它可以正常工作,但在cron作业中,它会将错误的内容从站点写入我的数据库
php文件中的crontab
和CURL
之间是否存在问题
更新
旋度函数:
function CurlPost($sURL,$sMessage = "")
{
$cookie_file_path = "cookies/cookies.txt";
print_r($sMessage);
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_URL, $sURL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_POSTFIELDS, $sMessage);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$sResult = curl_exec($ch);
curl_close($ch);
return $sResult;
}
从cron运行文件名时,必须为其提供完整/绝对路径。你必须在卷曲中使用cookie,这是缺乏绝对路径的。因此,cookie不起作用,并且您得到了错误的内容
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
所以
cookie.txt
应该是/home/tmp/cookie.txt
请提供一个应该写入的数据示例,以及在开发和生产服务器上写入的数据示例。您可以提供cron.php中的一些代码作为示例吗?修复了它,谢谢大家的帮助