PHP 致命错误:无法重新声明

PHP 致命错误:无法重新声明

我编写了 php 脚本并通过终端进行语法检查php -l my_filepath,然后突然发现致命错误,PHP Fatal error: Cannot redeclare即使我的代码执行成功。

还使用相同的脚本检查其他系统,但是它显示了No syntax errors detected,所以我错在哪里。

常见函数帮助器.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

即使函数没有在整个代码库的任何地方重新声明

答案1

hex2binPHP 库函数是否适用于 PHP >= 5.4.0:http://php.net/manual/en/function.hex2bin.php. 选择另一个名字。

答案2

由于在回复时没有发布代码,我们在这里做一些假设,并注意php -l在执行 php 脚本时查看整个文件,在某些情况下仅当执行导致错误的相应语句时才可能报告运行时错误。

例如,如果你重新申报的是如果-statement 然后执行 php 脚本可能不会导致错误,如果代码流没有经过如果声明(例如,如果有包括

建议是查找并查看导致错误的行号并修复它,因为即使您在执行环境和实例中执行脚本时没有看到它,问题仍然存在。

此外,因为这种错误可能在以下情况下很常见:包括' 已使用,您可以使用 '包含一次' 代替 '包括' 问题可能就解决了。

相关内容