Исходя из ответа Виктора Вала, вот моя собственная компактная версия.
import subprocess
def run(code):
p = subprocess.Popen(['php','-r',code], stdout=subprocess.PIPE)
return p.stdout.read().decode('utf-8')
code = """ \
$a = ['a', 'b', 'c'][0]; \
echo($a);"""
print(run(code))
Это не дает предупреждения, если вы запускаете VS2008 под Vista, но без повышенных прав . Повышенный - это способ, которым мы (пользователи Vista) учимся всегда использовать эту вещь, но для этого по какой-то причине ему больше нравится другой способ.
NB: пока повышенный, мой запустил какую-то установку для инструментов SQL Server, которую я в конечном итоге смог пройти, но при запуске без повышенных прав он пытается сделать это снова и терпит неудачу с проблемами разрешения. Однако, похоже, это не влияет на фактический результат сборки.