У меня есть PHP-скрипт, который использует wget для загрузки некоторых изображений.  Однако wget был установлен с использованием Homebrew, поэтому он недоступен для пользователя, выполняющего скрипт PHP.  Когда я запускаю exec('echo $PATH') я не получаю каталог /usr/local/bin , содержащий wget .  Как добавить /usr/local/bin в путь к среде, чтобы скрипт PHP мог найти wget ? 
Обновление: я забыл упомянуть причину, по которой я не могу указать точное местоположение, потому что местоположение может быть различным в зависимости от того, на какой машине этот скрипт запускается.
Это то, с чем я столкнулся:
 //help PHP find wget since it may be in /usr/local/bin putenv('PATH=' . getenv('PATH') . PATH_SEPARATOR . '/usr/local/bin'); if (exec('which wget') == null) { throw new Exception('Could not find wget, so image could not be downloaded.'); } //now we know wget is available, so download the image exec('wget ...'); 
       
		В порядке предпочтения:
/usr/local/bin/wget когда вы вызываете подпроцесс.  Это, наверное, самый простой и лучший подход. proc_open вместо exec , который позволяет передавать переменные окружения в качестве аргумента. putenv для изменения текущей среды (которая будет наследоваться подпроцессами).   PHP имеет волшебную глобальную переменную с именем $_ENV которая представляет собой массив, содержащий все переменные среды (в контексте процесса, выполняемого скриптом PHP, например, вашего веб-сервера). 
см. http://php.net/manual/en/reserved.variables.environment.php