это несколько сложный вопрос, когда дело доходит до «где я должен это разместить?msgstr ", но я предполагаю, что за этим стоит общая проблема, поэтому я ставлю ее на superUser.
У меня есть сценарий Doctrine, который выполняется в php-файле путем вызова:
exec('bin\doctrine.php.bat dbal:import import_data/mssql_data.sql'.' 2>&1', $output);
Так как я передаю ошибки из STDERR в STDOUT и сохраняю их в $ output, я получаю сообщения об ошибках.
Выполнение сценария дает мне:
php is not recognized as an internal or external command
Хотя я добавил его в системную переменную PATH:
(...)C:\Program Files\Microsoft\Web Platform Installer\;C:\PHP
C:\PHP является правильным путем и не содержит завершающего символа "\", как упомянуто здесь: php не распознается как внутренняя или внешняя команда (windows 7).
Также я могу без проблем запускать php-скрипты из CMD, используя php someFile.php. Поэтому я предполагаю, что PATH был правильно адаптирован.
Чтобы быть уверенным, я также перезагрузил машину с неизменными результатами.
Я понимаю, что это может быть ошибкой доктрины, но, поскольку сообщение об ошибке выглядит как общая системная проблема, я надеялся найти здесь помощь.
В настоящее время я отчасти беспомощен и могу только предположить, что, поскольку скрипт выполняется php, он работает как системный пользователь и, следовательно, не получает доступа к переменной PATH. Но на самом деле это верно только для "нормальных" переменных среды, так как они хранятся "на пользователя". PATH является системной переменной и поэтому должен быть доступен любому пользователю, выполняющему скрипт, поэтому это не должно иметь значения. Правильный?
Система Windows Server 2012 R2.
Любые предложения и помощь очень ценятся!