1
0
Fork 0

Fix shell proxy to allow user-defined cygdrive

pull/6911/head
johnstevenson 2017-12-15 18:49:08 +00:00
parent 4c8c574b6c
commit 3511edc9e8
1 changed files with 5 additions and 12 deletions

View File

@ -194,21 +194,14 @@ class BinaryInstaller
$proxyCode = <<<PROXY
#!/usr/bin/env sh
dir=$(d=\${0%[/\\\\]*}; cd "\$d" > /dev/null; cd $binDir && pwd)
dir=\$(cd "\${0%[/\\\\]*}" > /dev/null; cd $binDir && pwd)
# 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
if [ -d /proc/cygdrive ] && [[ \$(which php) == \$(readlink -n /proc/cygdrive)/* ]]; then
# We are in Cgywin using Windows php, so the path must be translated
dir=\$(cygpath -m "\$dir");
fi
dir=$(echo \$dir | sed 's/ /\ /g')
"\${dir}/$binFile" "$@"
"\${dir}/$binFile" "\$@"
PROXY;