# Lokaler MySQL-Dev-Start Die Legacy-App kann fuer Entwicklung gegen MySQL laufen. Dafuer gibt es eine Kompatibilitaetsschicht, die die verwendeten `sqlsrv_*`-Funktionen im Dev-Modus auf PDO/MySQL abbildet. ## Voraussetzungen - PHP CLI mit `pdo_mysql`. - MySQL-Testdatenbank. - Keine Produktivdaten und keine Produktivpasswoerter im Repository. In dieser VS-Code-Server-Umgebung wurde PHP lokal unter `.local/` entpackt, weil `sudo` nicht passwordless verfuegbar war. `.local/` wird von Git ignoriert. ## Umgebungsvariablen ```bash export APP_DB_DRIVER=mysql export DB_HOST="example.mysql.host" export DB_PORT="3306" export DB_NAME="example_database" export DB_USER="example_user" export DB_PASS="example_password" export DEV_AUTH_EMAIL="admin@test.local" export DEV_AUTH_NAME="Test Admin" # Optional: Standard ist var/sessions im Repository. export APP_SESSION_PATH="/path/to/writable/sessions" ``` ## Testdatenbank initialisieren Migrationen anwenden: ```bash php scripts/migrate.php ``` Dev-Admin und Basistestdaten anlegen: ```bash php scripts/init-mysql-dev.php ``` In der aktuellen lokalen Umgebung: ```bash LD_LIBRARY_PATH="$PWD/.local/php/usr/lib/x86_64-linux-gnu" \ "$PWD/.local/php/usr/bin/php8.3" \ -c "$PWD/.local/php-dev.ini" \ scripts/init-mysql-dev.php ``` ## Server starten ```bash HOST=127.0.0.1 PORT=8080 scripts/run-dev-server.sh ``` Danach ist die App unter `http://127.0.0.1:8080/` erreichbar. In VS Code kann der Port ueber die Ports-Ansicht weitergeleitet werden. ## Hinweise - Der Dev-Login umgeht AD/LDAP und nutzt `DEV_AUTH_EMAIL`. - Die Tabellen werden ueber `database/migrations/` angelegt. - `database/mysql-dev-schema.sql` bleibt als historische Dev-Schema-Baseline erhalten; der aktive Weg ist `scripts/migrate.php`. - Session-Dateien liegen standardmaessig unter `var/sessions`; `var/` wird von Git ignoriert. - Der Dev-Modus ist nur fuer lokale Tests gedacht, nicht fuer Produktion.