22 lines
628 B
Django/Jinja
22 lines
628 B
Django/Jinja
#!/bin/bash
|
|
# Lenvi Smart PHP Wrapper
|
|
# This script executes any 'php' command with the project-specific PHP version.
|
|
|
|
DEFAULT_PHP_BINARY="/usr/bin/php"
|
|
PHP_BINARY=""
|
|
LENVI_CONFIG_FILE="{{ playbook_dir }}/Lenvi.yaml"
|
|
|
|
if [[ -f "$LENVI_CONFIG_FILE" ]]; then
|
|
CURRENT_PROJECT_ROOT=$(pwd)
|
|
PHP_VERSION=$(yq eval '.sites[] | select(.project_root == "'"$CURRENT_PROJECT_ROOT"'") | .php_version' "$LENVI_CONFIG_FILE")
|
|
|
|
if [[ -n "$PHP_VERSION" && -x "/usr/bin/php$PHP_VERSION" ]]; then
|
|
PHP_BINARY="/usr/bin/php$PHP_VERSION"
|
|
fi
|
|
fi
|
|
|
|
if [[ -z "$PHP_BINARY" ]]; then
|
|
PHP_BINARY="$DEFAULT_PHP_BINARY"
|
|
fi
|
|
|
|
exec "$PHP_BINARY" "$@" |