2024-09-25 17:10:14 +04:00
|
|
|
#!/bin/bash
|
|
|
|
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
|
|
|
# s'assurer que le script PHP est lancé avec l'utilisateur www-data
|
|
|
|
|
2024-09-26 19:35:24 +04:00
|
|
|
# TODO Faire une copie de ce script dans un répertoire de l'application web
|
2024-09-26 08:48:04 +04:00
|
|
|
# (par défaut c'est le répertoire _cli/) et paramétrer les variables suivantes:
|
2024-09-26 09:38:54 +04:00
|
|
|
# ce sont tous des chemins relatif au répertoire qui contient ce script
|
2024-09-26 08:48:04 +04:00
|
|
|
|
2024-09-26 09:38:54 +04:00
|
|
|
# Chemin relatif de la racine du projet
|
2024-09-26 08:48:04 +04:00
|
|
|
PROJPATH=..
|
|
|
|
|
2024-09-26 09:38:54 +04:00
|
|
|
# Chemin relatif vers le lanceur PHP
|
2024-09-26 19:35:24 +04:00
|
|
|
LAUNCHERPATH=_launcher.php
|
2024-09-26 08:48:04 +04:00
|
|
|
|
2024-09-26 09:38:54 +04:00
|
|
|
# Chemin relatif des scripts PHP wrappés
|
|
|
|
WRAPPEDPATH=
|
2024-09-26 08:48:04 +04:00
|
|
|
|
|
|
|
###############################################################################
|
2024-09-25 17:10:14 +04:00
|
|
|
if [ ! -L "$0" ]; then
|
|
|
|
echo "\
|
|
|
|
$0: ce script
|
|
|
|
- doit être lancé en tant que lien symbolique avec un nom de la forme 'monscript.php'
|
|
|
|
- lance le script PHP du même nom situé dans le même répertoire avec l'utilisateur www-data"
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
MYNAME="$(basename -- "$0")"
|
|
|
|
MYTRUESELF="$(readlink -f "$0")"
|
|
|
|
MYTRUEDIR="$(dirname -- "$MYTRUESELF")"
|
2024-09-26 08:48:04 +04:00
|
|
|
PROJDIR="$(cd "$MYTRUEDIR${PROJPATH:+/$PROJPATH}"; pwd)"
|
2024-09-26 09:38:54 +04:00
|
|
|
launcher="$MYTRUEDIR/$LAUNCHERPATH"
|
|
|
|
class="$MYTRUEDIR${WRAPPEDPATH:+/$WRAPPEDPATH}/${MYNAME%.php}.phpc"
|
|
|
|
script="$MYTRUEDIR${WRAPPEDPATH:+/$WRAPPEDPATH}/${MYNAME%.php}.php"
|
2024-09-25 17:10:14 +04:00
|
|
|
|
2024-09-30 16:22:33 +04:00
|
|
|
[ -f /g/init.env ] && source /g/init.env
|
|
|
|
|
2024-09-25 17:10:14 +04:00
|
|
|
www_data="${DEVUSER_USERENT%%:*}"
|
|
|
|
[ -n "$www_data" ] || www_data=www-data
|
|
|
|
|
2024-09-26 09:38:54 +04:00
|
|
|
cmd=(php "$launcher")
|
2024-09-25 17:10:14 +04:00
|
|
|
[ -n "$MEMPROF_PROFILE" ] && cmd+=(-dextension=memprof.so)
|
|
|
|
if [ -f "$class" ]; then
|
|
|
|
cmd+=("$(<"$class")")
|
|
|
|
else
|
|
|
|
cmd+=("$script")
|
|
|
|
fi
|
|
|
|
cmd+=("$@")
|
|
|
|
|
|
|
|
if [ "$(id -u)" -eq 0 ]; then
|
|
|
|
su-exec "$www_data" "${cmd[@]}"
|
|
|
|
else
|
|
|
|
exec "${cmd[@]}"
|
|
|
|
fi
|