modifs.mineures sans commentaires

This commit is contained in:
Jephté Clain 2024-09-26 08:48:04 +04:00
parent e4a58f0226
commit 65748d1706
2 changed files with 47 additions and 4 deletions

View File

@ -0,0 +1,30 @@
<?php
# script à inclure pour implémenter cli_simple_launcher.php
# les constantes suivantes doivent être définies AVANT de chager ce script:
# - NULIB_APP_app_params : paramètres du projet
use nur\sery\os\path;
use nur\sery\wip\app\app2;
if ($argc <= 1) die("invalid arguments");
app2::init(NULIB_APP_app_params);
$app = $argv[1];
if (class_exists($app)) {
# la configuration est celle actuellement chargée
array_splice($argv, 1, 1);
$argc--;
$app::run();
} elseif (is_executable($app)) {
# la configuration est passée par une variable d'environnement
app2::params_putenv();
pcntl_exec($app, array_slice($argv, 1));
} else {
# la configuration est celle actuellement chargée
array_splice($argv, 0, 1);
$argc--;
$name = preg_replace('/\.php$/', "", path::basename($app));
app2::init([
"name" => $name,
]);
require $app;
}

View File

@ -2,6 +2,19 @@
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 # -*- 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 # s'assurer que le script PHP est lancé avec l'utilisateur www-data
# Faire une copie de ce script dans un répertoire de l'application web
# (par défaut c'est le répertoire _cli/) et paramétrer les variables suivantes:
# Chemin relatif de la racine du projet depuis l'emplacement de ce script
PROJPATH=..
# Chemin relatif des scripts PHP wrappés depuis l'emplacement de ce script
WRAPPEDPATH=
# Chemin relatif vers le lanceur PHP depuis le répertoire du projet
WRAPPER=src_app/init/cli_simple_launcher.php
###############################################################################
if [ ! -L "$0" ]; then if [ ! -L "$0" ]; then
echo "\ echo "\
$0: ce script $0: ce script
@ -13,15 +26,15 @@ fi
MYNAME="$(basename -- "$0")" MYNAME="$(basename -- "$0")"
MYTRUESELF="$(readlink -f "$0")" MYTRUESELF="$(readlink -f "$0")"
MYTRUEDIR="$(dirname -- "$MYTRUESELF")" MYTRUEDIR="$(dirname -- "$MYTRUESELF")"
PROJDIR="$(cd "$MYTRUEDIR/.."; pwd)" PROJDIR="$(cd "$MYTRUEDIR${PROJPATH:+/$PROJPATH}"; pwd)"
www_data="${DEVUSER_USERENT%%:*}" www_data="${DEVUSER_USERENT%%:*}"
[ -n "$www_data" ] || www_data=www-data [ -n "$www_data" ] || www_data=www-data
class="$MYTRUEDIR/${MYNAME%.php}.phpc" class="$MYTRUEDIR${WRAPPEDPATH:+/$WRAPPEDPATH}/${MYNAME%.php}.phpc"
script="$MYTRUEDIR/${MYNAME%.php}.php" script="$MYTRUEDIR${WRAPPEDPATH:+/$WRAPPEDPATH}/${MYNAME%.php}.php"
cmd=(php "$PROJDIR/src_app/init/cli_cli_launcher.php") cmd=(php "$PROJDIR/$WRAPPER")
[ -n "$MEMPROF_PROFILE" ] && cmd+=(-dextension=memprof.so) [ -n "$MEMPROF_PROFILE" ] && cmd+=(-dextension=memprof.so)
if [ -f "$class" ]; then if [ -f "$class" ]; then
cmd+=("$(<"$class")") cmd+=("$(<"$class")")