...
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:
Ermitteln der ID des Containers
oc-server3_php-fpm
mittelssudo docker ps
.Öffnen einer Shell im Container:
sudo docker exec -it 45b6e4994fac /bin/bash
, wobei45b6e4994fac
die ID des Containers ist.In der Container-Shell
chmod -R 777 /application/htdocs/var/logs/dev/
ausführen.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:
Ermitteln der ID des Containers
oc-server3_php-fpm
mittelssudo docker ps
.Öffnen einer Shell im Container:
sudo docker exec -it 45b6e4994fac /bin/bash
, wobei45b6e4994fac
die ID des Containers ist.Im Container einen Editor installieren, beispielsweise
nano
. Da der Container auf Ubuntu basiert, funktioniert dies mittelsapt-get update && apt-get install nano
.Die passende Konfigurationsdatei mittels des Editors im Container öffnen, beispielsweise mittels
nano /application/htdocs/config2/settings.inc.php
.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:
In der Datenbanktabelle ‘cache_logs’ den Eintrag in Spalte ‘nodes’ auf 4 ändern. (Dies entspricht der ‘Local Development’-Umgebung (siehe Tabelle ‘nodes’)).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ührender Pull Requesthttps://github.com/OpencachingDeutschland/oc-server3/pull/830behebt 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); |