Исключение, когда я использую семафор с текущим именем
Прежде всего, eval сильно обескуражен, как описано в руководстве .
Кроме того, вы должны делать что-то вроде $arr = eval("return array('foo'=>'bar');");, т.е. инициализация $arr с помощью функции eval. См. Это в действии здесь