I'm trying to run an executable via the cli, like so:

phpunit DefaultTest

but i get "command not found" so i have to do:

/usr/lib/php/bin/phpunit DefaultTest

which works, how do i set it so i only have to use the executable name?

2 Answers 2


You'll have to append /usr/lib/php/bin to your $PATH environment variable. The best way to do this is to edit .bashrc or .profile and add /usr/lib/php/bin at the end of the $PATH like in the example below.



  • Your example adds it at the beginning. Sep 2, 2010 at 4:27
  • great thanks, that worked. which is better .bashrc or .profile?
    – mononym
    Sep 2, 2010 at 4:32
  • Ignacio: You're correct. You can do this instead, then: PATH="$PATH:/usr/lib/php/bin" :) Sep 2, 2010 at 4:38
  • mononym: .profile will work just fine, though if you have a .bash_profile as well, then if you're using bash, bash will favor .bash_profile over .profile AFAIK. Sep 2, 2010 at 4:39

You can also symlink to a place in the standard path. If you need to execute it outside of shell or if it had to be available for all users

sudo ln -s /usr/lib/php/bin/phpunit /usr/local/bin

/usr/local/bin is in the path and is the common location of user installed binaries, so its contents are available for execution systemwide.

  • Not really an option, symlinking creates a mess. Basically the only viable solution is altering $PATH
    – cpf
    Sep 2, 2010 at 16:26
  • I didn't agree. symlinking beyond /usr/local is completly natural way to install system-wide and IMHO is safer than add directories to the global path. As I said for system wide setups.
    – theist
    Sep 3, 2010 at 14:29

You must log in to answer this question.

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