问题描述
我继承了一个 PHP 脚本,该脚本将 .xml 故事从 AWS 存储桶导入到 wordpress 站点。它运行良好有一段时间,但现在似乎卡在一个记录上,不会跳过或向前移动。我手动将图像添加到 wordpress 中,但它只是说“图像已经存在,正在删除”..然后继续错误循环。
这是我得到的错误:
197bcf26-5b64-11eb-bcc0-00163ec2aa77.xml
Byline: Headline: 'Gone' to the top of the charts: Columbus native nominated for international folk song of the year
REP - 2021-01-28 - zone (D001)
c992fd36b34e12aef9d367c975656b43.jpg - Media does not exist in wordpress. Uploading it.
File is already here. Deleting it
New media upload - UnkNown status code returned: 504NULL
New media upload - UnkNown status code returned: 504NULL
New media upload - UnkNown status code returned: 504NULL
New media upload - UnkNown status code returned: 504NULL
New media upload - UnkNown status code returned: 504NULL
这是代码部分:
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_BINARYTRANSFER,TRUE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_USERAGENT,'Ingester');
//var_dump($headers);
$media_upload_output = curl_exec($ch);
//var_dump($media_upload_output);
//sleep(15);
if (curl_errno($ch)) {
echo 'error:' . curl_error($ch);
}
$http_code = curl_getinfo($ch,CURLINFO_HTTP_CODE);
//var_dump($http_code);
if ($http_code === 404) {
echo '404 Status code returned. Odd. Pausing to try again: ' . PHP_EOL;
sleep(15);
goto beginmediaupload;
}
elseif ($http_code === 429) {
echo 'Sorry. Pausing to catch up' . PHP_EOL;
curl_close($ch);
sleep(5);
goto beginmediaupload;
}
elseif ($http_code === 400) {
echo 'Got that 400 error code' . PHP_EOL;
var_dump(json_decode($media_upload_output));
curl_close($ch);
//sleep(5);
//goto beginmediaupload;
goto end_of_media;
}
elseif ($http_code === 503) {
echo 'Service unavailable. Pausing to try again.' . PHP_EOL;
curl_close($ch);
sleep(15);
goto beginmediaupload;
}
elseif ($http_code != 201) {
echo 'New media upload - UnkNown status code returned: ' . $http_code;
var_dump(json_decode($media_upload_output));
sleep(15);
goto beginmediaupload;
}
curl_close($ch);
$media_upload_output = json_decode($media_upload_output);
//var_dump($media_upload_output);
$sql_statement = "REPLACE INTO local_ingested_tracker (type,filename,pub,id,link) VALUES ('p','".$file_name."','".$pub_code."',".$media_upload_output->id.",'".$media_upload_output->source_url."')";
$insert_result = $MysqLi->query($sql_statement);
$Media_Current_ID = $media_upload_output->id;
$Media_Current_Link = $media_upload_output->source_url;
$Media_Current_Caption = $media_upload_output->caption;
//var_dump($media_upload_output->media_details);
$Media_Current_Width = $media_upload_output->media_details->width;
$Media_Current_Height = $media_upload_output->media_details->height;
//var_dump($Media_Current_Width);
//var_dump($Media_Current_Height);
$Media_exists = True;
unlink('/var/www/html/ap_Feed_fetch/imgtemp/'.$file_name);
$pheanstalk->touch($job);
sleep(10);```
How can I add a section that will simply move on to the next record? I'm assuming it's a bad record? Not sure though.
Any ideas appreciated!
解决方法
504 是网关超时 - 网络服务器没有收到来自 PHP 的响应。 检查 php.ini 设置,图像可能太大,它会尝试上传它们,但您有限制。