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

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

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

This is the Line 313

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

Значения:

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

$value['value'] contains Live

$key contains CONFIGURATION_PAYPAL

0
Нам нужно знать, что содержат $ value и $ key . Кроме того, почему вы используете eval() ? Редко, что вам действительно нужно использовать его, и когда вы его используете, он почти всегда вызывает проблемы.
добавлено автор Sverri M. Olsen, источник
проблема в том, что ваша строка не была правильно завершена/экранирована. может быть, что вы забыли «(« после массива [set_function]) ... но потому что я не знаю, что внутри этих переменных, я не знаю
добавлено автор Najzero, источник
Я обновил свой пост.
добавлено автор Ken, источник

4 ответы

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

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

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

1
добавлено
Да. Я делаю некоторые предосторожности перед eval.
добавлено автор Ken, источник

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

0
добавлено
Я сомневаюсь, что кто-то достаточно глуп, чтобы хранить скобки с именем функции под переменной «set_function» (без обид).
добавлено автор MarcinWolny, источник
Итак, в основном, две вещи: избавиться от скобок от имени функции сохранения переменных (поскольку он должен хранить ТОЛЬКО имя функции), а затем изучить специальные символы, особенно обратную косую черту.
добавлено автор MarcinWolny, источник
@Ken - попробуйте запустить это регулярное выражение на вашем $ value ['set_function'] stackoverflow.com/a/ 6073257/2028547
добавлено автор MarcinWolny, источник
но (может быть в $ value ['set_function']
добавлено автор Mez, источник
Вы никогда не знаете - учитывая ошибку, которую он получает (NS_SEPERATOR), похоже, что ошибка на самом деле связана с плохим экранированием.
добавлено автор Mez, источник
Я нашел это ... после эха $ value ['set_function'] он отображает косые черты, но в самом значении нет слэшей.
добавлено автор Ken, источник

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

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

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

0
добавлено

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

0
добавлено
но (может быть в $ value ['set_function']
добавлено автор Mez, источник
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp