BerlusGmbH / Berlussimo

Hausverwaltung Software
GNU Affero General Public License v3.0
18 stars 23 forks source link

Diverse Fehler nach Neuinstallation #71

Open chrzimmer opened 4 years ago

chrzimmer commented 4 years ago

Hallo,

ich hab es jetzt geschafft Berlussimo als virtuelle Maschine auf Ubuntu 19.04 Server, php7.2 mit einer remoten Maria/MySQL-DB zum Laufen zu bringen. Abweichend von der beschriebenen Standard-Installation gab es nur 2-3 Punkte, welche man anpassen musste (wahrscheinlich währe das für Vollprofis kein Ding gewesen).

Nun läuft Berlussimo, so dass ich mich einloggen kann, aber ich bekomme beim Rumklicken meistens Fehler wie "Whoops, looks like someting went wrong.", "Fehler beim Erstellen des Hauses. Code: 500 Message: Internal Server Error", "Message: Cannot use lexicalvariable $query as a parameter name". Im nginx-Log finde ich dazu Einträge wie "2019/11/27 08:48:29 [error] 2024#2024: *118 FastCGI sent in stderr: "PHP message: PHP Fatal error: Cannot use lexical variable $query as a parameter name in /var/www/berlussimo/app/Services/Parser/Parser.php on line 873" while reading response header from upstream, client: 192.168.10.50, server: _, request: "GET /api/v1/houses?v=Listenansicht&s=5&page=1 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.2-fpm.sock:", host: "192.168.10.203", referrer: "http://192.168.10.203/houses?v=Listenansicht&page=1&s=5"

Irgendwie finde ich auch kein Manual, anhand dessen ich mich irgendwo langhangeln könnte. Bin für alle Hinweise dankbar.

mueller-berlus commented 4 years ago

Hallo Herr Zimmer,

wenn ich mich nicht irre tritt dieser Fehler durch eine neuere PHP Version zu Tage. PHP >7.0 macht strengere Syntaxüberprüfungen. Dieser Fehler sollte im dev Branch behoben sein. Wenn Sie den Versuch wagen wollen, können Sie auf die dev Version wechseln. Die nötigen Befehle sollten wie folgt lauten (nicht getestet):

git checkout dev
composer install
php artisan optimize
php artisan route:cache
php artisan migrate
php artisan parser:generate
npm install
npm run prod

Sie können danach nicht wieder zurück. Sollte dies ihr Problem lösen, könnte ich eine neue Version (v0.7) veröffentlichen.

chrzimmer commented 4 years ago

Hallo, kein Problem, dafür hab ich ja meine VMware ... hab mir einfach einen Snapshot gemacht und los gehts ! Habe in meiner bestehenden Installation einfach das Verzeichnis /var/www/berlussimo gelöscht, nochmal "git clone https://github.com/BerlusGmbH/Berlussimo berlussimo" ausgelöst und dann "git checkout dev" ausgeführt. Das gibt leider den Fehler "error: pathspec 'dev' did not match any file(s) known to git". In meinem ursprünglichen Versuch hatte ich ja "git checkout develop" aus geführt. Ist "dev" ungleich "develop" ? Oder ist das der gleiche Branch ?

Zusätzlich habe ich gestern eine neue VM aufgesetz (ja, ich bin hartnäckig :-), wo ich mit Debian 9 genau Ihre Anforderungen erfülle (php7.0 und lokaler mySQL). Das Ergebnis ist leider noch ernüchternder. Ich bekomme den Login-Screen, aber nach Eingabe der Credentials und Drücken von "Anmelden" passiert genau gar nichts. Ich kann noch "Passwort vergessen" drücken, dann erhalte ich eine leere Arbeitsfläche in Grau mit Berlussimo-Header und -Footer. Hm ... irgendwie ist da der Wurm drin ... die Logs des nginx sagen leider auch nicht viel dazu

chrzimmer commented 4 years ago

Nachtrag: vielleicht ist das ja von bedeutung. Als ich gestern, gemäß Installationstext, "git checkout develop" ausgeführt habe, bekam ich ja gleich die Meldung "xxxxxx@server1:/var/www/berlussimo# git checkout develop Bereits auf 'develop' Ihr Branch ist auf dem selben Stand wie 'origin/develop'."

Geht da vielleicht etwas mit den Branches durcheinander ? Weil wenn der develop-Branch schon für php7.2 geeignet wäre, dürfte die strngere Syntayprüfung von 7.2 ja nicht anschlagen ...

mueller-berlus commented 4 years ago

Ist "dev" ungleich "develop" ? Oder ist das der gleiche Branch ?

Mein Fehler dev = develop.

Also waren Sie schon auf dem develop Branch. Dementsprechend ist er nicht mit php 7.2 kompatibel. Ich habe den Fehler zwar schon einmal beseitig, jedoch in einem Branch der den störenden Code nicht mehr enthält. Es bleibt nur der Weg über php 7.0.

Ich bekomme den Login-Screen, aber nach Eingabe der Credentials und Drücken von "Anmelden" passiert genau gar nichts.

Das ist ein häufiger Fehler. Ich empfehle Ihnen:

  1. aktivieren Sie den Debug-Modus. Zu finden in config/app.php
  2. Schauen Sie sich den Stacktrace in den Entwicklertools Ihres Browsers an. Er befindet sich in der Antwort des Servers (Inspect Network Activity In Chrome DevTools).

Die häufigste Ursache sind unterschiedlich konfigurierte Zugangsdaten für die Datenbank. Es ist auch möglich, dass Sie 'charset' => 'utf8mb4' 'collation' => 'utf8mb4_unicode_ci' in config/database.php auf 'charset' => 'utf8'`'collation' => 'utf8_unicode_ci' setzen müssen. Oder umgekehrt, je nachdem welche Einstellung Sie derzeit verwenden.