Installationsschritte, externe Bibliotheken, Migrationen und Umgebung
Die Installer-Schritte, Regeln für Basisschema und Migrationen, Ort und Installationswege der externen Bibliotheken, der Update-Manager, Sprachdateien und die Messungen der Systemprüfung.
Die Installation läuft auf dem Reiter „Systemprüfung und Installation“ der Bearbeitungsseite der Erweiterung als getrennte, idempotente AJAX-Schritte: check → composer → schema → migrate → defaults → register → finish. Die Installationsschaltfläche ist nur ohne rote Fehler aktiv.
Schritte
- Basisschema:
install/schema/baseline.sql(nurCREATE TABLE IF NOT EXISTS), dann die Migrationen. - Der Schritt
defaultserzeugt das Cron-Geheimnis, falls es fehlt, und schreibt die Cron-Zeilen. - Externe Bibliotheken, wenn die Webinstallation nicht laufen kann (z. B.
execgesperrt):libraries.zipmit dem cPanel-Dateimanager in den Storage-Ordner entpacken, dann „Bibliotheken installieren“; im Terminal ohne Composerphp install/composer/install.php <storage> --from=<Paket oder Vendor-Ordner>(der temporäre Ordner wird auch bei Fehlern entfernt); mit Composerphp install/composer/install.php <storage> [--composer=<Pfad>]— Composer wird im PATH, unter/opt/cpanel/composer/bin/composerund als~/composer.phargefunden. - Cron ausführen: jede Minute
php cron.phpaus dem Framework-Stamm (empfohlen) oder die Worker-URL mit dem Endpunktmasterdata/cronqueue.runund dem Cron-Geheimnis (das Geheimnis erscheint nicht in Listen oder Logs).
Externe Bibliotheken
Composer-Pakete (install/composer/composer.json, PHP ≥ 8.0, Plattform 8.0.30) im gemeinsamen Vendor-Ordner des Frameworks mit Paketverzeichnis; aktualisierte Standardpakete werden aus einem Stage-Ordner an ihren Platz gebracht. Die Paketzeile der Systemprüfung zeigt Version und Ort.
| Paket | Version | Zweck |
|---|---|---|
tecnickcom/tcpdf | ^6.7 | PDF-Erzeugung (die PDF-Basis unterdrückt den Veraltungshinweis ab 6.9 nur aus TCPDF-Dateien) |
setasign/fpdi, setasign/fpdf | ^2.6, ^1.8 | Import von PDF-Seiten (Wasserzeichen, Zusammenführen) |
smalot/pdfparser | ^2.11 | PDF-Textextraktion |
google/apiclient | ^2.15 | Drive-Speicher, Konvertierung (nur Drive-Dienst) |
guzzlehttp/guzzle, psr7, promises, psr/http-message | ^7.15.2, ^2.13.2, ^2.6, ^1.1 | HTTP; Standardpakete werden innerhalb derselben Hauptversion aus Sicherheitsgründen aktualisiert |
qualityunit/tnef-decoder | ^1.0 | E-Mail-Anhänge (optional) |
Migrationen und Aktualisierung
- Globales SemVer (
install.json, derzeit 1.1.0). Neue Migrationen nur unterinstall/migrations/<Version>/, mit Kopf (@id,@requires,@skip-if,@post,@reversible), Präfix-Platzhalter in Tabellennamen, nur erweiternd (kein DROP, RENAME, keine Verengung, kein UPDATE ohne WHERE). - Der Runner zerlegt bedingte DDL für MySQL 5.7, läuft im Ausnahmemodus und protokolliert (Tabelle
migration: Version, Stapel, Zeitpunkte, Dauer, Fehler, SHA-256-Prüfsumme, Art, Umkehrbarkeit). Die Datei einer angewandten Migration darf sich nicht ändern. - Update-Manager: signiertes Paket (Ed25519); Vorbereitung (Freigabe, Download, Signatur und Hash, Staging, Vorprüfung, Sicherung) und Aktivierung (Wartung, Delta-Sicherung, Migration aus dem Staging-Code, atomarer Codewechsel, Bibliotheksabgleich, Gesundheitsprüfung; bei Fehler automatischer Code-Rollback). Unabhängiges Wiederherstellungswerkzeug (CLI; Web nur im freigegebenen Fenster).
Sprachen
Jede Beschriftung stammt aus einem Sprachschlüssel in drei Sprachordnern (en-gb, hu-hu, de-de). Das ungarische Sprachpaket führt nach dem Kopieren die eigenen Übersetzungen der Erweiterung erneut zusammen. Dokumentsprache: die Sprache der Vorlage; E-Mails an Empfänger in der Benachrichtigungssprache der Person; der Datenraum wechselt die Sprache ohne Neuladen.
Umgebung
| Bereich | Anforderung |
|---|---|
| PHP | ≥ 8.0.0 (≥ 8.2 empfohlen), 64 Bit empfohlen; Framework 4.0.2.x |
| Pflichterweiterungen | mysqli, curl, mbstring, zip, dom, simplexml, libxml, openssl, sodium, gd, zlib, iconv, json, ctype |
| Empfohlen, optional | fileinfo, OPcache, soap; imap, exif, imagick, intl |
| ini | memory_limit ≥ 128M (empfohlen 512M), max_execution_time ≥ 120 (empfohlen 300), upload_max_filesize ≥ 32M (empfohlen 64M), post_max_size ≥ Upload, max_input_vars ≥ 3000 (empfohlen 5000), file_uploads = On |
| Datenbank | MariaDB ≥ 10.2.7 oder MySQL ≥ 5.7.8; Rechte: CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES; GET_LOCK(); utf8mb4 |
| Beschreibbare Ordner | storage, logs, cache, upload, image (Pflicht); extension (empfohlen) |
| Optionale Programme | ghostscript, pdftotext, qpdf, tesseract (+hun), imagemagick, composer |