phpstorm — функция в скрипте PHP, вызывающая ошибку 502 Bad Gateway

В моем скрипте есть функция, которая внезапно вызывает ошибку 502 Bad Gateway при запуске через PHPStorm. У меня никогда не было этого раньше с подобными сценариями. Когда я это комментирую, у меня вообще нет ошибок. Как это возможно?

Скрипт берет информацию из одного Excel и преобразует ее в другой.

public static function WJ_JewelsToExcel($array, $fileName) {
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$rowCount = 2;

foreach ($array as $row) {
$sku = $row[0];
$gender = $row[1];
$jewelType = $row[2];
$jewelType2 = $row[3];
$metalType = $row[4];
$metalColor = $row[5];
$gemType = $row[6];
$gemColor = $row[7];
$description = $row[9];
$brand = $row[10];
$msrp = $row[11];
$price = $row[12];
$qty = $row[13];
$url = $row[14];
$name = $brand . ' ' . $sku;
$finalGender = "";

if ($gender == "Female") {
$finalGender = "Women's";
} elseif ($gender == "Male") {
$finalGender = "Men's";
} else {
$finalGender = "Child";
}
for($categoryRow = 0 ; $categoryRow < 2 ; $categoryRow++){
if($categoryRow == 0){
$objPHPExcel->getActiveSheet()->setCellValue('A' . $rowCount, $sku);
$objPHPExcel->getActiveSheet()->setCellValue('C' . $rowCount, "Jewels");
$objPHPExcel->getActiveSheet()->setCellValue('D' . $rowCount, "simple");
$objPHPExcel->getActiveSheet()->setCellValue('E' . $rowCount, "Jewelry/" . $finalGender . "/" . $jewelType);
$objPHPExcel->getActiveSheet()->setCellValue('F' . $rowCount, "Default Category");
$objPHPExcel->getActiveSheet()->setCellValue('G' . $rowCount, "base");
$objPHPExcel->getActiveSheet()->setCellValue('K' . $rowCount, $brand);
$objPHPExcel->getActiveSheet()->setCellValue('W' . $rowCount, $description);
$objPHPExcel->getActiveSheet()->setCellValue('AA' . $rowCount, "No");
$objPHPExcel->getActiveSheet()->setCellValue('AC' . $rowCount, $gemColor);
$objPHPExcel->getActiveSheet()->setCellValue('AD' . $rowCount, $gemType);

switch ($finalGender){
case "Women's": $objPHPExcel->getActiveSheet()->setCellValue('AE' . $rowCount, "Women");break;
case "Men's": $objPHPExcel->getActiveSheet()->setCellValue('AE' . $rowCount, "Men");break;
default: $objPHPExcel->getActiveSheet()->setCellValue('AE' . $rowCount, "Child");
}

$objPHPExcel->getActiveSheet()->setCellValue('AG' . $rowCount, "0");
$objPHPExcel->getActiveSheet()->setCellValue('AK' . $rowCount, $jewelType2);
$objPHPExcel->getActiveSheet()->setCellValue('AN' . $rowCount, $metalColor);
$objPHPExcel->getActiveSheet()->setCellValue('AO' . $rowCount, $metalType);
$objPHPExcel->getActiveSheet()->setCellValue('AU' . $rowCount, $msrp);
$objPHPExcel->getActiveSheet()->setCellValue('AV' . $rowCount, "Use config");
$objPHPExcel->getActiveSheet()->setCellValue('AW' . $rowCount, "Use config");
$objPHPExcel->getActiveSheet()->setCellValue('AX' . $rowCount, $name);
$objPHPExcel->getActiveSheet()->setCellValue('BB' . $rowCount, "Product Info Column");
$objPHPExcel->getActiveSheet()->setCellValue('BD' . $rowCount, $price);
$objPHPExcel->getActiveSheet()->setCellValue('BE' . $rowCount, "0");
$objPHPExcel->getActiveSheet()->setCellValue('BH' . $rowCount, $description);
$objPHPExcel->getActiveSheet()->setCellValue('BN' . $rowCount, "1");
$objPHPExcel->getActiveSheet()->setCellValue('BO' . $rowCount, "0");
$objPHPExcel->getActiveSheet()->setCellValue('BU' . $rowCount, "4");
$objPHPExcel->getActiveSheet()->setCellValue('BY' . $rowCount, $qty);
$objPHPExcel->getActiveSheet()->setCellValue('BZ' . $rowCount, "0");
$objPHPExcel->getActiveSheet()->setCellValue('CA' . $rowCount, "1");
$objPHPExcel->getActiveSheet()->setCellValue('CB' . $rowCount, "0");
$objPHPExcel->getActiveSheet()->setCellValue('CC' . $rowCount, "0");
$objPHPExcel->getActiveSheet()->setCellValue('CD' . $rowCount, "1");
$objPHPExcel->getActiveSheet()->setCellValue('CE' . $rowCount, "1");
$objPHPExcel->getActiveSheet()->setCellValue('CF' . $rowCount, "1");
$objPHPExcel->getActiveSheet()->setCellValue('CG' . $rowCount, "0");
$objPHPExcel->getActiveSheet()->setCellValue('CH' . $rowCount, "1");
$objPHPExcel->getActiveSheet()->setCellValue('CI' . $rowCount, "1");
$objPHPExcel->getActiveSheet()->setCellValue('CK' . $rowCount, "1");
$objPHPExcel->getActiveSheet()->setCellValue('CL' . $rowCount, "0");
$objPHPExcel->getActiveSheet()->setCellValue('CM' . $rowCount, "1");
$objPHPExcel->getActiveSheet()->setCellValue('CN' . $rowCount, "0");
$objPHPExcel->getActiveSheet()->setCellValue('CO' . $rowCount, "1");
$objPHPExcel->getActiveSheet()->setCellValue('CP' . $rowCount, "0");
$objPHPExcel->getActiveSheet()->setCellValue('CQ' . $rowCount, "1");
$objPHPExcel->getActiveSheet()->setCellValue('CR' . $rowCount, "0");
$objPHPExcel->getActiveSheet()->setCellValue('CS' . $rowCount, "0");
}

if($categoryRow == 1){
$objPHPExcel->getActiveSheet()->setCellValue('E' . $rowCount, "Brands/" . $brand);
$objPHPExcel->getActiveSheet()->setCellValue('F' . $rowCount, "Default Category");
}
$rowCount++;
}
}
$objWriter = new PHPExcel_Writer_CSV($objPHPExcel);
$objWriter->save('D:\Websites\Utilities\PHPUtils\Export\\' . $fileName);
}

Выше приведен скрипт, вызывающий ошибку, и он вызывается с основного.

require_once(__DIR__ . './PHPExcel/ExcelUtil.php');
require_once(__DIR__ . './SOAP/SoapUtil.php');

$data = ExcelUtil::ExcelToArray("WJ\\Jewels\\all_jewels.csv");
ExcelUtil::WJ_JewelsToExcel($data, "WJ\\Jewels\\all_jewels.csv");

PHP & Интерпретатор настроен правильно.

1

Решение

Итак, на самом деле это был не мой сценарий, не PHP, а фактический файл EXCEL, который я пытался преобразовать. При сохранении исходного файла CSV что-то пошло не так, и он удалил все запятые, поэтому это была длинная строка из +500.000 символов, думаю, что у веб-сервера были проблемы с синтаксическим анализом, поскольку он был слишком длинным.

Проблема решена, неисправный файл CSV!

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector