-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathphp
executable file
·30 lines (24 loc) · 982 Bytes
/
php
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
#!/bin/bash
ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
# Detect if it's running inside of docker and run it natively if it is.
# @see https://stackoverflow.com/a/25518345/430062
if [ "$PHP_VERSION" == "native" ] || [ -f "/.dockerenv" ]; then
(/bin/env --chdir=/ php "$@")
exit
fi
if [ -z "$PROJECT_NAME" ]; then
PROJECT_NAME=$(basename $ROOT | tr '[:upper:]' '[:lower:]' | sed "s/[^[:alpha:]-]//g")
fi
if [ -z "$NETWORK_NAME" ]; then
NETWORK_NAME=${PROJECT_NAME}_default
fi
if [ -z "$PHP_VERSION" ]; then
PHP_VERSION="7"
fi
# Test if the network exists.
docker network inspect $NETWORK_NAME > /dev/null 2>&1
if [ $? == 0 ]; then
docker run -u=$UID -v $HOME:$HOME -v $PWD:$PWD -v /etc/passwd:/etc/passwd:ro --network="$NETWORK_NAME" -it -v $PWD:/workdir --rm phpexperts/php:${PHP_VERSION} "$@"
else
docker run -u=$UID -v $HOME:$HOME -v $PWD:$PWD -v /etc/passwd:/etc/passwd:ro -it -v $PWD:/workdir --rm phpexperts/php:${PHP_VERSION} "$@"
fi