SEO Сообщество: Спрашивайте и помогайте

Присоединяйтесь к сообществу профессиональных веб-мастеров PR-CY, отвечайте на вопросы коллег и задавайте свои.

Q&A SEO

При переходе на php 7.0 и выше. Возникает проблемка...

Dexter2000 Dexter2000  
20
  11.06.2018 12:10       1 654    
Добрый день! Может кто сможет подсказать! На сайте есть калькулятор и при переходе на php 7.0 выскакивает ошибка, (Failed to load resource: the server responded with a status of 500 (Internal Server Error) /assets/new/calc/calc.php?format=json  что нужно подправить? Или все сложно? На php 5.6 работает в нормальном режиме. 
 Спасибо ))

Ответы на пост (6) Написать ответ
vipuslugi vipuslugi
67
11.06.2018 12:24
смотри лог ошибок.править файл calc.php смотреть файл и инлуды.
0
Dexter2000 Dexter2000
20
11.06.2018 12:29
Много править? Или пару строчек?
0
Dexter2000 Dexter2000
20
11.06.2018 12:33
Файл не большой...
<?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;

?>
0
grintroll grintroll
52
12.06.2018 01:16
Лучше сиди на 5.6 и не создавай себе проблемы с 7 версией. Замахаешся выпиливать вылезающие баги в коде.
0
snwebdev snwebdev
139
13.06.2018 03:04
И жди когда тебя взломают )
0
vadim vadim
182
12.06.2018 02:34
500 - это ошибка сервера. И прежде, чем копать файл, который сервер не смог загрузить, а, следовательно, файл и не отработал, нужно прочитать лог ошибок сервера. Там будет подробно написано где, когда и в какой строке кода какого файла. Файл calc.php, может быть и ни при чем. При переходе на php 7.0 файл ведь не менялся. Поменялись конфигурационные файлы php. А это гадать можно до бесконечности - может массив глобальных переменных выключен, может что еще. А в логе ошибок сервера все будет конкретно прописано.
0