解析错误:php 中常量函数中出现意外'@'符号



在我的项目中,当我试图安装一个软件时,我在安装的最后一步得到了一个解析错误

解析错误是

解析错误:语法错误,意外的"@"/道路//服务器/subfolder1/projectfoldername/文件夹/filename.php第21行

该文件的特定行中的编码是

if(@constant($matches[1][0]) != @$matches[1][0]){
        if(!empty(@constant(@$matches[1][0])) & !empty(@$matches[0][0]) & !empty(@$design_m_r[$key])){
           $design_m_r[$key] = @str_replace($matches[0][0], constant($matches[1][0]), $design_m_r[$key]);
         }
        }

我们的网站php版本是php 5.3.28。我试着搜索这个错误。但我找不到解。一些论坛告诉这个错误为"这是高级php版本的功能。所以这应该不支持php 5.3.28版本"。但是当我搜索时,没有版本使用这种类型的函数

不能这样使用@错误抑制运算符

From the PHP Docs.

@-操作符只对表达式有效。一个简单的经验法则是:如果可以取某项的值,可以在前面加上@操作符到它。例如,您可以将它添加到变量、函数和包括调用、常量等等。你不能把它加到函数或类定义,或条件结构,如ifforeach,等等

同样,passing arbitrary expressions上的empty只允许从PHP 5.5

相关内容

  • 没有找到相关文章

最新更新