diff --git a/saas-app/public/install.php b/saas-app/public/install.php index d4cb456..2f3dcea 100644 --- a/saas-app/public/install.php +++ b/saas-app/public/install.php @@ -16,6 +16,8 @@ if (!is_file($bootstrapPath)) { require_once $bootstrapPath; +clearstatcache(); + $requestMethod = $_SERVER['REQUEST_METHOD'] ?? 'GET'; if (isset($_GET['download']) && $_GET['download'] === 'bundle' && is_file(scripts_bundle_output_path())) { @@ -56,6 +58,9 @@ $errors = []; $executedMigrations = []; $bundlePath = is_file(scripts_bundle_output_path()) ? scripts_bundle_output_path() : null; $locked = scripts_installer_is_locked(); +$saasAppPath = scripts_saas_app_path(); +$saasAppVisible = is_dir($saasAppPath); +$openBaseDir = (string) ini_get('open_basedir'); $envPathState = scripts_path_writable_state(scripts_env_path()); $lockPathState = scripts_path_writable_state(scripts_installer_lock_path()); $bundlePathState = scripts_path_writable_state(scripts_bundle_output_path()); @@ -123,6 +128,9 @@ if ($requestMethod === 'POST' && !$locked) { } elseif (scripts_string_contains($message, '.env')) { $errors[] = 'Die Konfiguration konnte nicht gespeichert werden. Zielpfad: ' . scripts_env_path(); $errors[] = 'Status fuer .env: ' . scripts_path_state_label($envPathState) . '. Elternordner: ' . $envPathState['parent']; + if (!$saasAppVisible) { + $errors[] = 'PHP kann den SaaS-App-Ordner nicht lesen. Bitte Rechte, Document-Root und `open_basedir` pruefen.'; + } } else { $errors[] = 'Die Installation konnte nicht abgeschlossen werden. Bitte Eingaben, DB-Zugang und Dateirechte pruefen.'; } @@ -441,6 +449,9 @@ function h(string $value): string

Status