В следующем примере:
<?php
// this code is written to test error reporting function in runtime
error_reporting(0);
echo $var = 'hex' // I have made this mistake here by my will but error reporting message still pops up.
$name = 'rex';
?>
Я хотел отключить отчеты об ошибках в php во время выполнения. Я использовал утверждение error_reporting(0);
но он не работает для моей версии, он попробовал решение, предложенное следующим вопросом php error reporint но это не работает. Я думаю, что другая версия используется здесь.
Моя версия PHP php 5.6.3. Я проверил php doumentation для решения, но я не мог найти ответ.
Как я могу решить это?
Точка с запятой отсутствует в конце второй строки кода
echo $var = 'hex'
Это является причиной ошибки, и это ошибка компиляции, а не ошибка времени выполнения. Поскольку он не может быть успешно скомпилирован, скрипт не запускается вообще. Нет времени выполнения, скрипт никогда не запускался.
Нет способа подавить ошибки компиляции. Их цель — показать программисту, что скрипт не может быть скомпилирован и почему.
У вас есть ошибка компиляции; Комментарии к error_reporting предполагают, что ошибки времени компиляции могут не контролироваться с помощью директив времени выполнения.
Это НЕ приведет к появлению ошибок
error_reporting(0);
echo $var = 'hex';
$name = 'rex';
echo $A;
Это может привести к появлению ошибки
error_reporting(E_ALL);
echo $var = 'hex';
$name = 'rex';
echo $A;
Это также может привести к появлению ошибки
error_reporting(0);
echo $var = 'hex'
$name = 'rex';
echo $A;