$ _FILES иногда пусто при отправке файла с php CURL - PullRequest
1 голос
/ 12 февраля 2020

Этот код использовался в течение нескольких лет для отправки файла с Сервера A на Сервер B и Сервер C без проблем. Но с недели a go по неизвестной причине я получаю $ _FILES пустым только при отправке с Сервера A на Сервер B:

Например:

Отправка файла с Сервера A на Сервер B: Массив $ _FILES на сервере B пуст, файл не получен. Нет ошибок в CURL и нет ошибок на сервере B, $ _FILES установлен, но пуст.

Отправка файла с сервера A на сервер C: $ _FILES включает в себя один файл, и файл успешно доставлен.

Отправка файла с сервера C на сервер B: $ _FILES включает в себя один файл, и файл успешно получен.

Отправка файла с локального сервера P C на сервер B и на сервер C: $ _FILES включает в себя один файл и файл успешно доставлен.

Таким образом, проблема возникает только при отправке с сервера A на сервер B (как уже упоминалось, это работало). В логах брандмауэра нет ничего необычного.

Поиграл с параметрами заголовка, которые не имели значения; Версия сервера A php 7.4.1;


$ch = curl_init();
$cfile = curl_file_create(realpath($zipFile),'application/zip','export.zip');
$fileArray['export']=$cfile;
$headr = array();
$headr[] = 'Content-type:multipart/form-data';
curl_setopt($ch,CURLOPT_URL, $listenerUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headr);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fileArray);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
//@@@@@@
#curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
#curl_setopt($ch, CURLOPT_HEADER, TRUE);
//@@@@@@@
$result = curl_exec($ch);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...