解析我无法解决的错误问题

时间:2013-02-07 13:13:54

标签: php

我不知道我的代码有什么问题。 有一个错误:

Parse error: syntax error, unexpected T_NS_SEPARATOR, expecting T_STRING in /home/&&&&/public_html/oscommerce/admin/modules.php(313) : eval()'d code on line 1

这是Line 313

eval('$keys .= ' . $value['set_function'] . "'" . $value['value'] . "', '" . $key . "');");

值:

$value['set_function']包含tep_cfg_select_option(array('Live', 'Sandbox'),

$value['value']包含Live

$key包含CONFIGURATION_PAYPAL

4 个答案:

答案 0 :(得分:1)

您是否确定要使用eval()?

PHP文档 eval()

  

eval()语言结构非常危险,因为它允许   执行任意PHP代码。因此不鼓励使用它。如果你   仔细确认除了使用它之外别无选择   构建时,要特别注意不要传递任何用户提供的数据   没有事先正确验证它就进入它。

答案 1 :(得分:0)

一个可能的原因是括号似乎不匹配。你有2),而你只有一个(。

答案 2 :(得分:0)

  

eval('$ keys。='。$ value ['set_function']。“'”。$ value ['value']。“','”。$ key。“');”);

会给你类似的东西

$keys .= set_function'value', 'key');

我相信这不正确。

如何在(之后添加$value['set_function'] . "?您没有在功能名称后打开括号。

另一件事是T_NS_SEPARATOR错误意味着你\某处不应该出现错误。 Per:https://stackoverflow.com/a/6454891/2028547 - 查看奇怪字符的所有变量的值。

答案 3 :(得分:0)

看起来$value['set_function']$value['value']$key中有\的内容 它们

尝试回显eval()中的内容,而不是运行eval() - 这将让您看到PHP正在尝试运行的代码。

错误基本上是说在\代码中的一个奇怪的地方有一个命名空间分隔符(eval()