19 declare(strict_types=1);
31 public const ARTIFACT =
'./src/FileDelivery/artifacts/delivery_method.php';
35 public const PHP =
'php';
39 return self::ARTIFACT;
46 return new Setup\Artifact\ArrayArtifact([
47 self::SETTINGS => self::XSENDFILE
51 return new Setup\Artifact\ArrayArtifact([
52 self::SETTINGS => self::PHP
58 if (function_exists(
'apache_get_modules') && in_array(
'mod_xsendfile', apache_get_modules(),
true)) {
63 $command_exists = shell_exec(
"which apache2ctl");
64 if ($command_exists === null || empty($command_exists)) {
68 $loaded_modules = array_map(
static function ($module) {
69 return explode(
" ", trim($module))[0] ??
"";
70 }, explode(
"\n", shell_exec(
"apache2ctl -M 2>/dev/null") ??
''));
74 if (in_array(
'xsendfile_module', $loaded_modules,
true)) {
82 return !file_exists(self::ARTIFACT);
This is an objective to build some artifact.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
An environment holds resources to be used in the setup process.
An artifact is some file that is build on demand per installation and is not shipped with the ILIAS s...
isApplicable(Setup\Environment $environment)