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.


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 '16 at 0:02

You must log in to answer this question.

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