-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathphp.env
executable file
·139 lines (130 loc) · 4.03 KB
/
php.env
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
######################################################################
# Load an environment built with php.multi .... because lazy! #
######################################################################
[ "x$TARGET" != "x" ] || TARGET=/opt/php
######################################################################
# STOP EDITING STOP EDITING STOP EDITING STOP EDITING STOP EDITING #
######################################################################
VERSION=$1
ZTS=$2
DBG=$3
######################################################################
# STOP EDITING STOP EDITING STOP EDITING STOP EDITING STOP EDITING #
######################################################################
[ "x$ZTS" != "x" ] || ZTS=zts
[ "x$DBG" != "x" ] || DBG=debug
######################################################################
# STOP EDITING STOP EDITING STOP EDITING STOP EDITING STOP EDITING #
######################################################################
USAGE="usage: source php.env version|list [zts|no-zts [debug|no-debug]]"
if [ -z $VERSION ]; then
echo $USAGE
return
fi
case $ZTS in
no-zts)
echo "nothing" > /dev/null
;;
zts)
echo "nothing" > /dev/null
;;
*)
echo $USAGE
return
esac
case $DBG in
no-debug)
echo "nothing" > /dev/null
;;
debug)
echo "nothing" > /dev/null
;;
*)
echo $USAGE
return
esac
######################################################################
# STOP EDITING STOP EDITING STOP EDITING STOP EDITING STOP EDITING #
######################################################################
DEFAULTS=/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin
######################################################################
# STOP EDITING STOP EDITING STOP EDITING STOP EDITING STOP EDITING #
######################################################################
RED="\033[1;31m"
GREEN="\033[0;32m"
BGREEN="\033[1;32m"
BLUE="\033[1;34m"
PURPLE="\033[0;35m"
WHITE="\033[0;37m"
BWHITE="\033[1;37m"
CEND="\033[0m"
######################################################################
# STOP EDITING STOP EDITING STOP EDITING STOP EDITING STOP EDITING #
######################################################################
__stop()
{
echo -en $RED
echo -n $1
echo -e $CEND
}
if [ $VERSION = "list" ]; then
VERSIONS=0
ENVS=0
echo -e $GREEN'Available Environments'$CEND
for V in $(ls $TARGET 2>/dev/null)
do
for Z in $(ls $TARGET/$V 2>/dev/null)
do
for D in $(ls $TARGET/$V/$Z 2>/dev/null)
do
if [ "$V" = "$PHP_VERSION" ] &&
[ "$Z" = "$PHP_ZTS" ] &&
[ "$D" = "$PHP_DBG" ]; then
echo -e $BLUE"\t$V\t$Z\t$D"$CEND
else
echo -e "\t$V\t$Z\t$D"
fi
((ENVS++))
done
done
((VERSIONS++))
done
echo -e $GREEN'Found' $ENVS 'environments using' $VERSIONS 'versions'$CEND
return 0
fi
if [ -d $TARGET/$VERSION/$ZTS/$DBG/bin ]; then
export PHP_SYSROOT=$TARGET/$VERSION/$ZTS/$DBG
export PATH=$PHP_SYSROOT/bin:$DEFAULTS
export TEST_PHP_EXECUTABLE=$PHP_SYSROOT/bin/php
export PHP_BIN=$TEST_PHP_EXECUTABLE
export PHP_CONFIG=$PHP_SYSROOT/bin/php-config
export PHP_IZE=$PHP_SYSROOT/bin/phpize
export PHP_INI=$PHP_SYSROOT/php.ini
export PHP_INI_SCANDIR=$PHP_SYSROOT/modules.d
export PHP_VERSION=$VERSION
export PHP_ZTS=$ZTS
export PHP_DBG=$DBG
if [ "$DBG" = "no-debug" ]; then
COL=$PURPLE
else
COL=$RED
fi
if [ ! -z "$BASH" ]; then
export PS1="\u@\h [${COL}${VERSION}-${ZTS}-${DBG}${CEND}] \w \$ "
else
if [ "$DBG" = "debug" ]; then
export PROMPT="[%*] %{$fg[cyan]%}%n%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%}$(git_prompt_info) %{$fg[red]%}[${VERSION}-${ZTS}-${DBG}]%{$reset_color%} %(!.#.$) "
else
export PROMPT="[%*] %{$fg[cyan]%}%n%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%}$(git_prompt_info) %{$fg[purple]%}[${VERSION}-${ZTS}-${DBG}]%{$reset_color%} %(!.#.$) "
fi
fi
if [ $(which php) = "$TEST_PHP_EXECUTABLE" ]; then
echo -en $COL
php -v 2>/dev/null
echo -e $CEND
else
__stop "Could not set environment for $VERSION $ZTS $DBG, conflicting paths !"
fi
else
__stop "Could not find $TARGET/$VERSION/$ZTS/$DBG/bin"
fi