Skip to content

Instantly share code, notes, and snippets.

Last active Sep 4, 2017
What would you like to do?
To make composer (phpunit and other phar) run globally in windows and Cygwin
# Home:
# Complements:
# Updated to work with phpunit (and any other variant), just save this file as the
# name matching the phar you want it to start up.
# Save it as composer to execute composer.phar
# Save it as phpunit to execute phpunit.phar
dir=$(d=$(dirname "$0"); cd "$d" && pwd)
script=$(basename "$0" )
# see if we are running in cygwin by checking for cygpath program
if command -v 'cygpath' >/dev/null 2>&1; then
# cygwin paths start with /cygdrive/ which will break windows PHP,
# so we need to translate the dir path to windows format. However
# we could be using cygwin PHP which does not require this, so we
# test if the path to PHP starts with /cygdrive/ rather than /usr/bin.
if [[ $(which php) == /cygdrive/* ]]; then
dir=$(cygpath -m $dir);
dir=$(echo $dir | sed 's/ /\ /g')
php "${dir}/$script.phar" $*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment