我已经制作了一个PHP脚本,我想在我的ubuntu 16.04机器上执行。我正在使用php 7,我使用crontab。
当我运行命令 node* create(string val)
{
node* new = malloc(sizeof(node));
if(new!=NULL)
{
new->s=malloc(strlen(val+1)*sizeof(char)); //add this line here
strcpy(new->s,val);
new->next=NULL;
}
return new;
}
时,这是输出:
which php
现在我的脚本正在网站上传图片。我使用PHP curl。这是我的cURL设置
/usr/bin/php
这是我的bash脚本
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->mUrl . $url);
curl_setopt($ch, CURLOPT_USERAGENT, $this->userAgent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
这是我的cron文件
#!/bin/bash -x
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/www/{PROGRAM}
/usr/bin/php -f /var/www/{NAME1}/{PROGRAM}_autopost.php
这是脚本发出错误的部分
* * * * * /bin/bash /var/www/{program}/cronjob.sh > /tmp/outputvancron
服务器没有响应。但是当我使用命令
手动启动bash时public function Post($photo, $caption){
$response = $this->PostImage($photo);
if(empty($response[1])) {
echo "Empty response received from the server while trying to post the image";
exit();
}
$obj = @json_decode($response[1], true);
$status = $obj['status'];
if($status == 'ok') {
$media_id = $obj['media_id'];
$response = $this->PostCaption($caption, $media_id);
}
}
它完美无缺。
crontab如何无法完成我的脚本,但通过shell我可以吗?
请帮帮我。
修改
我正在使用curl_exec($ ch);
bash cronjob.sh