essa é uma questão complicada quando se trata de "onde devo colocá-la?", mas eu assumo um problema geral por trás dela, e é por isso que estou colocando em superusuário.
Eu tenho um script do Doctrine que é executado em um arquivo php chamando:
exec('bin\doctrine.php.bat dbal:import import_data/mssql_data.sql'.' 2>&1', $output);
Como estou canalizando erros de STDERR para STDOUT e salvando-os em $ output, recebo mensagens de erro.
A execução do script me dá:
php is not recognized as an internal or external command
Embora eu tenha adicionado à variável PATH do meu sistema:
(...)C:\Program Files\Microsoft\Web Platform Installer\;C:\PHP
C: \ PHP é o caminho correto e não contém um "\" final, como mencionado aqui: .
Além disso, posso executar manualmente scripts PHP a partir do CMD, usando "php someFile.php", sem problemas. Então eu assumo que o PATH foi corretamente adaptado.
Para ter certeza, eu também reinicializei a máquina com resultados inalterados.
Sei que isso pode ser um erro de doutrina, mas como a mensagem de erro parece um problema geral do sistema, espero encontrar ajuda aqui.
Atualmente estou meio desamparado e só posso assumir que, como o script é executado pelo php, ele está sendo executado como o usuário do sistema e, portanto, não obtém acesso à variável PATH. Mas afaik isso é verdade apenas para variáveis de ambiente "normais", uma vez que elas são armazenadas "por usuário". O PATH é uma variável do sistema e deve, portanto, ser acessível por qualquer usuário que esteja executando o script, por isso não importa. Correto?
O sistema é o Windows Server 2012 R2.
Todas as sugestões e ajuda são muito apreciadas!