Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
sudo dpkg-reconfigure libdvd-pkg

Debian 12: bei der Einrichtung des PHP-Repositorys ppa:ondrej/php kommt es zu einem Fehler “AttributeError: 'NoneType' object has no attribute 'people'

Es muss vorab ein Pythonpaket installiert werden

Code Block
sudo apt install python3-launchpadlib

...

Fehlermeldungen in Zusammenhang mit der Dockerumgebung

...

Falls dies weiterhin keinen Erfolg bringt, können folgende Schritte zum Ändern der Zugriffsberechtigungen angewandt werden:

  1. Ermitteln der ID des Containers oc-server3_php-fpm mittels sudo docker ps.

  2. Öffnen einer Shell im Container: sudo docker exec -it 45b6e4994fac /bin/bash, wobei 45b6e4994fac die ID des Containers ist.

  3. In der Container-Shell chmod -R 777 /application/htdocs/var/logs/dev/ ausführen.

  4. Die Container-Shell regulär mittels exit verlassen.

Host-Mismatch bei Aufruf der OKAPI mit Port-Override

Falls in einer Override-Datei Ports überschrieben werden (siehe oben), funktioniert die OKAPI möglicherweise nicht richtig - stattdessen erscheint ein Hinweis auf einen Port-Mismatch. Dies kann auf folgende Art und Weise behoben werden:

  1. Ermitteln der ID des Containers oc-server3_php-fpm mittels sudo docker ps.

  2. Öffnen einer Shell im Container: sudo docker exec -it 45b6e4994fac /bin/bash, wobei 45b6e4994fac die ID des Containers ist.

  3. Im Container einen Editor installieren, beispielsweise nano. Da der Container auf Ubuntu basiert, funktioniert dies mittels apt-get update && apt-get install nano.

  4. Die passende Konfigurationsdatei mittels des Editors im Container öffnen, beispielsweise mittels nano /application/htdocs/config2/settings.inc.php.

  5. Setzen von $dev_baseurl = 'http://docker.team-opencaching.de:2200'; und anschließendes Speichern der Datei. Hierbei ist 2200 der Port, der statt Port 80 für den Webserver in der Override-Datei konfiguriert worden ist.

Während docker:init kommt es im Abschnitt (3/31) zu einer Meldung “> mysql -uroot -proot -hmariadb -e "DROP DATABASE IF EXISTS opencaching" ERROR 2005 (HY000): Unknown MySQL server host 'mariadb' (-3).“

...

Allerdings muss dies zum richtigen Zeitpunkt passieren. Nachdem docker:start-clean aufgerufen wurde, kurz warten, bis die Pakete heruntergeladen wurden und noch bevor Abschnitt 13/32 anfängt, muss die Datei korrigiert und gespeichert worden sein.

Meldung “DEPRECATED: The legacy builder is deprecated and will be removed in a future release. Install the buildx component to build images with BuildKit: https://docs.docker.com/go/buildx/

Der Docker build Prozess wurde geändert. Die bisherige Methode wurde ab Dockerversion 23 als “deprecated” markiert und wird in einer zukünftigen Version entfernt. Siehe https://docs.docker.com/engine/deprecated/#legacy-builder-for-linux-images

Meldung “ERROR: BuildKit is enabled but the buildx component is missing or broken.

Docker Buildkit/buildx soll verwendet werden (DOCKER_BUILDKIT=1), wurde aber nicht installiert.

Abhilfe: Buildkit/buildx Komponente installieren. Vorher müssen aber einige bereits installierte Pakete entfernt werden. Je nach OS gibt es unterschiedliche Anweisungen und Installationswege, siehe hier: https://docs.docker.com/engine/install/

Während docker:start-clean: "Browserslist: caniuse-lite is outdated."

Scheinbar wird die “browserslist” nicht automatisch aktualisiert. Grund?

Zum manuellen Update im Docker:ssh eingeben:

Code Block
npx browserslist@latest --update-db

bzw.

Code Block
npx update-browserslist-db@latest

...

Fehlermeldungen beim Zugriff auf die Datenbank

...

Um Logs wieder über die normale Loglöschenfunktion löschen zu können, gibt es mehrere Möglichkeiten:

  1. In der Datenbanktabelle ‘cache_logs’ den Eintrag in Spalte ‘nodes’ auf 4 ändern. (Dies entspricht der ‘Local Development’-Umgebung (siehe Tabelle ‘nodes’)).

  2. in der Datei ‘/dev-ops/local.team-opencaching.de/templates/config2-settings.inc.tpl.php' den Eintrag ‘$opt['logic']['node']['id'] = 5;’ ändern auf '$opt['logic']['node']['id'] = 4;’ und das docker:init Script ausführen

  3. der Pull Request https://github.com/OpencachingDeutschland/oc-server3/pull/830 behebt das Problem. Für bereits laufende Testserver einmalig das docker:init Script laufen lassen.

Es kann nicht auf die Domains docker.team-opencaching.de oder try.docker.team-opencaching.de zugegriffen werden.

...

Code Block
127.0.0.1	docker.team-opencaching.de
127.0.0.1	try.docker.team-opencaching.de

Abschalten

...

von

...

“NOTICE”-Meldungen. (Legacy)

Aufgrund diverser Updates werden vormals ignorierte Probleme nun mit einer “NOTICE”-Meldung kenntlich gemacht. Um die Meldungen zu unterdrücken, kann in der Smarty-Klasse das error_reporting Level geändert werden.

Beispiele für Fehlermeldungen:

Code Block
Notice: Undefined index: error_password_not_ok in /app/htdocs/var/cache2/smarty/compiled/..
Notice: Trying to get property 'value' of non-object in /app/..

...

Abhilfe:

Bis Smarty 3.x: In der Datei /htdocs/vendor/smarty/smarty/libs/Smarty.class.php die Zeile mit $error_reportingändern auf:reporting ändern auf den nachfolgenden Code. Die Änderung ist nicht git-relevant und geht nach jedem “./psh.phar docker:start-clean” verloren.

Code Block
public $error_reporting = E_ALL & ~E_NOTICE;

Ab Smarty 3.x und 4.x: In der Datei /htdocs/lib2/common.inc.php die obere Zeile (PHP_DEBUG_ON) mit $error_reporting ändern auf den nachfolgenden Code. Die Änderung ist permanent und muss vor einem Commit rückgängig gemacht werden, da sie sonst im github Repository landet.

Code Block
ini_set('error_reporting', E_ALL & ~E_NOTICE);