Skip to content

Instantly share code, notes, and snippets.

@mosbth

mosbth/composer

Last active Sep 4, 2017
Embed
What would you like to do?
To make composer (phpunit and other phar) run globally in windows and Cygwin
#!/bin/sh
# Home: https://gist.github.com/mosbth/ae5437cfe01d14b9707c
#
# Complements: http://stackoverflow.com/a/31625135/341137
#
# 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);
fi
fi
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