News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Sean Coates' Blog:
Use `env`
May 21, 2012 @ 11:58:34

Sean Coates has posted a reminder for PHP developers (and really anyone executing command-line scripts) to use "env" instead of hard-coding the path to the PHP interpreter.

These [support] scripts often run PHP in Gimme Bar land, and we make extensive use of the shebang syntax that uses common Unix practice of putting #!/path/to/interpreter at the beginning of our command-line code. Clearly, this is nothing special -lots of people do exactly this same thing with PHP scripts. One thing I have noticed, though, is that many developers of PHP scripts are not aware of the common Unix(y) environment helper, env.

The "env" alias makes use of your currently defined include path to track down a PHP binary to use to execute the script. Since there's only a "best practices" approach to places to put PHP on a server, the "env" usage makes your script more portable and it's one less thing to remember to change.

If you distribute a PHP application that has command-line scripts and shebang lines, I encourage you to adopt the practice of making your shebang line "#!/usr/bin/env php". Note that this doesn't just apply to PHP of course, but I've seen a definite lack of env in the PHP world.
0 comments voice your opinion now!
env environment include path find executable shebang


blog comments powered by Disqus

Similar Posts

Johan Mares' Blog: Running PHP CLI shell scripts

Alex Netkachov's Blog: CMS extensions: where to find, how to choose?

Server-Side Magazine: Creating a PHP 5.3 Virtual Development Environment

Stephan Hochdörfer: Defining Phing Tasks in PSR-0 style

Derick Rethans' Blog: PHP Development Environment 2.0


Community Events

Don't see your event here?
Let us know!


conference project part2 yii2 composer example laravel podcast application php7 list community symfony series api opinion interview introduction framework language

All content copyright, 2015 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework