Здравствуйте. На сайте есть калькулятор стабильно работает на php 5.6 но при переходе на php 7.0 и выше срабатывает ошибка, что то не так с файлом calc.php файл не большой может сможет кто то подсказать что нужно поправить ))) Сам ни бум бум в этом (( Заранее благодарен )) PHP: <?php include( 'reader.php' ); error_reporting(-1); function load_price($fname){ //if (strpos($fname,".csv")===false) return false; $reader =& new CSVReader( new FileReader( $fname ) ); $reader->setSeparator( ';' ); $data_result=array(); $data=array(); $cell = $reader->next(); while (false != ( $cell = $reader->next() )){ if (($cell[0]!='[DELIVERY]') && ($cell[0]!='[WORKS]')) { $s='materials'; while(($cell[0]!="") && ($cell != false) && ($cell[0][0]!='[')){ $data['name']=iconv('windows-1251', 'UTF-8', $cell[0]); $data['units']=iconv('windows-1251', 'UTF-8', $cell[1]); $data['weight']=($cell[2]=="")?0:str_replace(',','.',$cell[2]); $data['price']=($cell[3]=="")?0:str_replace(',','.',$cell[3]); $data['percent']=($cell[4]=="")?0:str_replace(',','.',$cell[4]); $data['consumption']=str_replace(',','.',$cell[5]); //$data['consumption']=($cell[5]=="")?0:str_replace(',','.',$cell[5]); $data_result[$s][]=$data; $data=array(); $cell = $reader->next(); } } if (($cell[0]=='[DELIVERY]') || ($cell[0]=='[WORKS]')) { $s='delivery'; if ($cell[0]=='[WORKS]') $s='works'; $cell = $reader->next(); while(($cell[0]!="") && ($cell != false) && ($cell[0][0]!='[')){ $data['name']=iconv('windows-1251', 'UTF-8', $cell[0]); $data['price']=($cell[1]=="")?0:str_replace(',','.',$cell[1]); $data_result[$s][]=$data; $data=array(); $cell = $reader->next(); } } } return $data_result; } function send_mail(){ $mess = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Заявка</title></head><body>'; $mess .= '<strong>Имя: </strong>'.$_POST['name']."<br />\r\n"; $mess .= '<strong>E-Mail: </strong>'.$_POST['email']."<br />\r\n"; $mess .= '<strong>Телефон: </strong>'.$_POST['phone']."<br />\r\n"; $mess .= '<strong>Адрес объекта: </strong>'.$_POST['address']."<br /><br />\r\n\r\n"; $str = stripslashes($_POST['data']); $str = str_replace('script','div',$str); $mess .= '<div>'.$str."</div><br />\r\n </body></html>"; require 'class.phpmailer.php'; //////////// file_put_contents('_tmp.html',$mess); //////////// $mail = new PHPMailer(); $mail->From = 'info@styazhka-pola.ru'; $mail->FromName = 'BEST FLOORS'; //$mail->AddBCC($_POST['email'], $_POST['name']); $mail->AddAddress($_POST['email'], $_POST['name']); $mail->AddAddress('email@my_site.ru',''); $mail->AddBCC('styazhkapola@yandex.ru',''); $mail->IsHTML(true); $mail->CharSet = "utf-8"; $mail->Subject = 'Спасибо. Ваш расчет c калькулятора на сайте Best Floor'; $mail->Body = $mess; if($sendemail != 'No'){ if (!$mail->Send()) { $data['message']='<b>Произошла ошибка.</b> '.' Mailer Error: '.$mail->ErrorInfo; $data['success']=false; echo json_encode($data); die; } } header('Content-Type:text/html; charset=utf-8'); header('Access-Control-Allow-Origin: *'); $data['message']='Спасибо! <br />Ваша заявка успешно отправлена, в самое ближайшее время мы с Вами свяжемся!'; $data['success']=true; echo json_encode($data); die; } if (!empty($_POST['name'])) { send_mail(); die; } $res=load_price('prices.csv'); //header('Access-Control-Allow-Origin: *'); echo json_encode($res); die; ?>
Failed to load resource: the server responded with a status of 500 (Internal Server Error)) /assets/new/calc/calc.php?format=json На этой странице )) http://styazhka-pola.ru/services/suxaya-styazhka/kalkulyator-suxoj-styazhki
http://styazhka-pola.ru/assets/new/calc/calc.php?format=json при запросе этого урла сервак отвечает с шибкой 500 (Internal Server Error) вывод: надо лезть в логи сервера и узнать, что там за внутренняя ошибка
Не могу точно сказать... хостинг бегет - включена функция, журнал ошибок с цитированием (Журнал ошибок, возникающих при обработке и выполнении скриптов на PHP, может быть полезен для отслеживания качества работы сайта.) Или где то нужно в другом месте смотреть?
Спасибо... но я писал что в этом не разбираюсь, что за дебаж и за какими символами строчки ставить тоже не понятно, и куда должен добраться )))
после каждой ; ставь exit('ok'); и перезагружай страницу. если на странице написано 'ok' значит ошибка ниже. переносишь exit к следущей ; и снова проверяешь
Что то не проходит данный метод... попробовал несколько строк никаких ok нет ))) может с первой строчки и проблема не знаю )))
Не работает только этот файл или остальные тоже? В первом случаи ищи файл который выше проблема там Во втором смотри конфиги apache nginx php
Только этот файл других ошибок не видно (jquery-2.1.4.min.js:4 GET http://styazhka-pola.ru/assets/new/calc/calc.php?format=json 500 (Internal Server Error))
Спасибо. Уже на кворке нашел исполнителя. Просто думал пару строчек нужно поменять и все... но не тут то было )))
Ну вот как и предполагалось ошибка в одном знаке ))) все заработало ))) Спасибо Вам большое))) Зачем только кворк заказал )))