Я написал php-скрипт и пошел на проверку синтаксиса через терминал php -l my_filepath
, затем внезапно обнаружил фатальную ошибку Фатальная ошибка PHP: невозможно повторно объявить
даже мой код выполняется успешно.
также проверьте другую систему с помощью того же сценария, но он показывает Синтаксических ошибок не обнаружено
,
, поэтому я ошибаюсь.
common_functions_helper.php
<?php
function hex2bin() {
// code here
}
После проверки синтаксической ошибки в терминале
$ php -l application/helpers/common_functions_helper.php
PHP Fatal error: Cannot redeclare hex2bin() in application/helpers/common_functions_helper.php on line 1013
Errors parsing application/helpers/common_functions_helper.php
, хотя функция не объявляется повторно где-либо в кодовой базе
hex2bin
библиотечная функция PHP, доступная для PHP> = 5.4.0: http://php.net/manual/en/function.hex2bin.php . Выберите другое имя.
С тех пор нет никакого кода, отправленного во время этого ответа, давайте сделаем некоторые предположения здесь и обратите внимание, что php-l смотрит на целый файл, в то время как выполнение сценария PHP в случаях могло бы сообщить об ошибке времени выполнения, только если соответствующий оператор, вызывающий ошибку, выполняется.
, Например, если то, что Вы повторно объявляете, в , если - оператор, тогда выполняющий сценарий PHP, не может привести к ошибке, если поток кода не проходит код в , если оператор (например, если бы существует , включают )
предложение должно было бы найти и посмотреть на номера строки, вызывающие ошибку, и зафиксировать его, потому что проблема существует, даже если Вы не видите его при выполнении сценария в среде и экземпляре, который Вы сделали.
, Кроме того, потому что эта ошибка может быть распространена, когда' включают ', используется, можно использовать' , include_once' вместо' включает ', и проблема может быть решена.