Ошибка ошибки анализа, которую я не могу решить

Я не знаю, что случилось с моим кодом. Произошла ошибка:

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

Ответы

Ответ 1

Вы абсолютно уверены, что хотите использовать eval()?

Документация PHP для eval() говорит

Конструкция языка eval() очень опасна, поскольку позволяет выполнение произвольного PHP-кода. Поэтому его использование не рекомендуется. если ты тщательно проверили, что нет другого выбора, кроме как использовать это строить, уделять особое внимание не передавать какие-либо предоставленные пользователем данные в него без должной проверки его заранее.

Ответ 2

Одна из возможных причин заключается в том, что скобки не совпадают. У вас есть 2) в конце, пока у вас есть только один (.

Ответ 3

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 - см. Значения всех ваших переменных для странных символов.

Ответ 4

Похоже, что все, что находится в $value['set_function'] или $value['value'] или $key, имеет \ в их

Попробуйте повторить то, что в eval(), а не работает eval() - это позволит вам увидеть код, который пытается запустить PHP.

Ошибка в основном говорит о том, что там, где существует разделитель пространства имен (\) в странном месте в коде eval() 'd