Внутренняя ошибка сервера IIS (завершение FastCGI) - PullRequest
0 голосов
/ 25 сентября 2018

Я объясню вам мою проблему.Я разработал приложение на сервере Apache (и PHP (7.0.23), затем переключился на сервер Windows.

На Apache приложение работает нормально. Но на IIS у меня возникает ошибка 500, когда я выполняю этот запрос:

      $sql = "INSERT INTO gracethd.t_error_table (et_rg_avct_id, et_uid, et_date, et_error_pourc, et_err_sum_per_id, et_table_name) "; 

  foreach ($availbleTable as $key => $value) {
    $sql .= " SELECT  " . $rg_avct_id . "  as et_avct , '" . $rg_last_uid . "' as rg_last_uid , '". $rg_date . "'::timestamp as et_date, " . 
      " ROUND(COALESCE(NULLIF(B.nb_id_concerne,0)::numeric/ (SELECT COUNT(*) FROM ". $key ."),0)::numeric  *100, 2)  as et_error_pourc, "; 
    if( trim($key) !== 't_cond_chem' && trim($key) !== 't_cab_cond') {
    $sql .= " B.total_erreur as et_err_sum_per_id , '" . $key ."'::varchar  as et_table_name  FROM  " .
    " (SELECT count(DISTINCT " .  $arrayOfTable[$key][1] .")::numeric as nb_id_concerne, count(*) as total_erreur from gracethdcheckpub.". $arrayOfTable[$key][0] .
    ") AS B " .
    " UNION "; 
    } else {
    $sql .= 
    " (SELECT count(*) as total_erreur from gracethdcheckpub.". $arrayOfTable[$key][0] . ") as et_err_sum_per_id, '" . $key ."'::varchar  as et_table_name FROM  " .
    " (SELECT count(*) as nb_id_concerne FROM  (SELECT  DISTINCT  " .  $arrayOfTable[$key][1] . " FROM gracethdcheckpub." . $arrayOfTable[$key][0] . ") c ) AS B " .
    " UNION "; 
    }
  } 
  $sql = substr($sql, 0, strlen($sql) -6); 
  $sql .= ';';

  return $sql; 

Иногда у меня есть огромное количество данных для вставки в базу данных, поэтому я изменил максимальный размер памяти в php_ini на 256M (7.0.21). С apache (тот же набор данных) это работает. На IIS iполучил ошибку FastCGI.

Я проверил журнал IIS и журнал PHP, в этом нет ничего существенного. Конечно, я установил для журнала ошибок значение «Вкл.»

Может быть, я что-то пропустил. Спасибо всем.

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