У тебя вопрос в чем был? В РНР творится какая-то фигня и ты не можешь понять, что именно. Как это сделать прозрачно? Никак! Это РНР, детка! Он придуман, чтобы выполняться в "темном чулане" сервера. Можно конечно его гонять из командной строки, это будет по-прозрачнее, но это все равно не самый лучший инструмент, чтобы запускать из него exec()и.
Под макросами я имею в виду любые макро-языки от DOS'освского bat'а, до более продвинутых пакетов под Винду или что там у тебя.