Existe um servidor X rodando no mesmo computador que o PHP? Se esse for o caso, você poderia * executar o processo PHP como o mesmo usuário do proprietário do servidor X (editando /etc/apache2/apache2.conf
) e, em seguida, encadear o identificador de exibição no comando:
shell_exec("DISPLAY=:0 vlc ....");
Você também pode usar putenv
(IIRC) para definir as variáveis de ambiente do PHP.
* Mas considere as ramificações de segurança de fazer isso antes de você. Se algo que o PHP estava rodando estivesse comprometido (acontece o tempo todo), que dano poderia fazer?