Lenverge/roles/php/templates/php-wrapper.sh.j2
2025-06-15 13:52:01 +08:00

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" "$@"