Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 分析错误问题,我可以';解决不了_Php - Fatal编程技术网

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']]
是的。我在评估之前做了一些预防措施。