Php 分析错误问题,我可以';解决不了
我不知道我的代码出了什么问题。 有一个错误:Php 分析错误问题,我可以';解决不了,php,Php,我不知道我的代码出了什么问题。 有一个错误: Parse error:syntax error,意外的T\u NS\u分隔符,在/home/&&&&&&&/public\u html/oscommerce/admin/modules.php(313):eval()'d第1行的代码中应为T\u字符串 这是第313行的 eval('$keys .= ' . $value['set_function'] . "'" . $value['value'] . "', '" . $key . "');");
Parse error:syntax error,意外的T\u NS\u分隔符,在/home/&&&&&&&/public\u html/oscommerce/admin/modules.php(313):eval()'d第1行的代码中应为T\u字符串
这是第313行的
eval('$keys .= ' . $value['set_function'] . "'" . $value['value'] . "', '" . $key . "');");
价值观:
$value['set_function']
包含tep_cfg_select_选项(数组('Live','Sandbox'),
$value['value']
包含Live
$key
包含配置\u PAYPAL
一个可能的原因是括号似乎不匹配。末尾有2个),而只有一个(
eval(“$keys.=”.$value['set_function'].“.”、“$value['value'.]”、“$key.”;”)
会给你类似的东西
$keys .= set_function'value', 'key');
我认为这是不对的
在$value['set_function']后面添加(
)怎么样?“
?函数名称后面的括号尚未打开
另一件事是,T\n\u分隔符错误意味着您的\
不应该在某个地方。Per:-查看所有变量的值以查找奇怪的字符。看起来像$value['set\u function']
或$value['value']
或$key
中的任何内容
他们
尝试回显eval()
中的内容,而不是运行eval()
——这将让您看到PHP试图运行的代码
错误基本上是说在eval()
'd code中的一个奇怪的地方有一个名称空间分隔符(\
),您确定要使用eval()吗
PHP文档
说
eval()语言构造非常危险,因为它允许
执行任意PHP代码。因此不鼓励使用它。如果
我们已经仔细核实,除了使用此选项之外,没有其他选择
施工时,特别注意不要传递任何用户提供的数据
在没有事先正确验证的情况下将其导入
问题是,您的字符串没有正确结束/转义。可能是您忘记了一个“([set_function]数组之后)…但是因为我不知道这些变量中的内容,所以我没有一个CLUEW。我们需要知道$value
和$key
包含的内容。另外,为什么要使用eval()
?很少有人真的需要使用它,而且当你使用它时,几乎总是会引起问题。我已经更新了我的帖子。但是(可能在$value['set\u function']
我怀疑有人愚蠢到将函数名括在一个名为“set\u function”的变量下(没有冒犯).你永远不知道-考虑到他正在接收的错误(NS_separator),看起来这个错误实际上与错误转义有关。好的,基本上有两件事要做:从存储函数名的变量中去掉括号(因为它应该只存储函数名)然后查看特殊字符,特别是反斜杠。我发现了。在回显$value['set\u function']
后,它显示斜杠,但值本身没有斜杠。但是(可能在$value['set\u function']]
是的。我在评估之前做了一些预防措施。