I have a website in a shared Linux hosting that uses Ghostscript. I use by php exec function that executes command line functions, gs commands to render PDF files, by simple gs commands.

gs -h (will display info)

However, in my Mac OS X MAMP web server gs commands are only executed by full paths.

/usr/local/bin/gs -h (will display info)

How do I configure my local system so "php" user will find gs (and other libraries) without full path?

EDIT: Command line by Terminal does not need full path either. The problem is only when trying to execute gs by exec PHP function.


1 Answer 1


This is most likely an issue with the default search path on MacOS X not including that directory. Homebrew is affected by that as well, so they list a workaround on their FAQ page:

launchctl setenv PATH "/usr/local/bin:$PATH"

That FAQ entry also helpfully references https://stackoverflow.com/questions/135688/setting-environment-variables-in-os-x/5444960 for more details about setting environment in OS X.

  • Ok, but when running the gs command by Terminal the gs is found, the problem is when using php exec function. The setenv will set the path for all users?
    – Gustavo
    Aug 9, 2016 at 0:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .