EN

Copying sources and texts (also in parts) for publishing without our permission is NOT ALLOWED. We are fed up with finding our work on other sites (like stackoverflow).

Copying for private and non-public usage is allowed.

DE

Das Kopieren von Quellcode und Texten (auch in Auszügen) ist nicht erlaubt. Wir haben es gründlich satt, unsere Arbeit auf anderen Webseiten zu finden.

Das private Kopieren und Benutzen ist natürlich erlaubt.

Kategorie "Sourcecode (Quellcode)"

Laminas (Zend): Module (Test) could not be initialized

Im PHP Laminas Framework (ehemals Zend Framework) wird der folgende Fehler angezeigt:

Uncaught Laminas\\ModuleManager\\Exception\\RuntimeException: 
Module (Test) could not be initialized.

Dann ist eine sehr wahrscheinliche Ursache die Einrichtung des Modules: (mehr …)

Slim4: 405 Method Not Allowed

Wenn Slim V4 folgende Fehlermeldung ausgibt:

405 Method Not Allowed

The application could not run because of the following error:

Type: Slim\Exception\HttpMethodNotAllowedException
Code: 405
Message: Method not allowed. Must be one of: get, post
File: /var/www/html/demo/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php
Line: 96

#0 /vendor/slim/slim/Slim/Routing/RouteRunner.php(72): Slim\Middleware\RoutingMiddleware->performRouting(Object(Slim\Psr7\Request))
#1 /vendor/slim/twig-view/src/TwigMiddleware.php(125): Slim\Routing\RouteRunner->handle(Object(Slim\Psr7\Request))
#2 /vendor/slim/slim/Slim/MiddlewareDispatcher.php(140): Slim\Views\TwigMiddleware->process(Object(Slim\Psr7\Request), Object(Slim\Routing\RouteRunner))
#3 /vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(107): class@anonymous->handle(Object(Slim\Psr7\Request))
#4 /vendor/slim/slim/Slim/MiddlewareDispatcher.php(140): Slim\Middleware\ErrorMiddleware->process(Object(Slim\Psr7\Request), Object(class@anonymous))
#5 /app/Middleware/TestMiddleware.php(13): class@anonymous->handle(Object(Slim\Psr7\Request))
#6 /vendor/slim/slim/Slim/MiddlewareDispatcher.php(283): App\Kernel\System\Middleware\TestMiddleware->__invoke(Object(Slim\Psr7\Request), Object(class@anonymous))
#7 /app/Middleware/Test.php(12): class@anonymous->handle(Object(Slim\Psr7\Request))
#8 /vendor/slim/slim/Slim/MiddlewareDispatcher.php(283): App\Kernel\System\Middleware\Test->__invoke(Object(Slim\Psr7\Request), Object(class@anonymous))
#9 /app/Middleware/TestMiddleware.php(146): class@anonymous->handle(Object(Slim\Psr7\Request))
#10 /vendor/slim/slim/Slim/MiddlewareDispatcher.php(283): App\Kernel\System\Middleware\TestMiddleware->__invoke(Object(Slim\Psr7\Request), Object(class@anonymous))
#11 /app/Middleware/TestMiddleware.php(13): class@anonymous->handle(Object(Slim\Psr7\Request))
#12 /vendor/slim/slim/Slim/MiddlewareDispatcher.php(283): App\Kernel\System\Middleware\ResponseHeaderMiddleware->__invoke(Object(Slim\Psr7\Request), Object(class@anonymous))
#13 /vendor/slim/slim/Slim/MiddlewareDispatcher.php(81): class@anonymous->handle(Object(Slim\Psr7\Request))
#14 /vendor/slim/slim/Slim/App.php(215): Slim\MiddlewareDispatcher->handle(Object(Slim\Psr7\Request))
#15 /vendor/slim/slim/Slim/App.php(199): Slim\App->handle(Object(Slim\Psr7\Request))
#16 /public/index.php(150): Slim\App->run()
#17 {main}

… dann kann Ihnen eine der folgenden Lösungen helfen:
(mehr …)

bootstrapTable: Hauptelement im Event erhalten

Die sehr hilfreiche JS Komponente "bootstrap-table" arbeitet mit Events, welche bei diversen Aktionen des Benutzers ausgelöst werden. Für den Entwickler kann es dabei jedoch sehr schwer sein, in einem Event die Eltern-Komponente ("Parent-Element") der Tabelle zu erhalten. Funktionen wie "$(this)" usw. liefern jeweils nur die Referenz auf die bootstrapTable ohne Referenz auf das Hauptelement.

Beispiel:

<table id="myTable" class="table table-striped"></table>

Diese Tabelle wird nun (nach Einbinden diverser benötigter Dateien zum bootstrapTable umgewandelt:

$("#myTable").bootstrapTable({ ... });

Um jetzt bei einem Event auf das "myTable" Element zugreifen zu können, muss man (leider) den Quellcode der Komponente anpassen. Wir nehmen als Beispiel das Event "onPageChange".
(mehr …)

phpList: Das versteckte Tracking (ut.php) aus den Rundmails entfernen

Die OpenSource WebAnwendung "phpList" ist leider nur sehr umständlich auf europäische oder deutsche Datenschutz-Vorstellungen einstellbar. Das versteckte Tracking am Ende einer jeden E-Mail sieht so aus:

<img src="https://www.domain.xyz/ut.php?u=123453ae12345c2ef123453ac027c9565&m=1" width="1" height="1" border="0" alt="" />
</body>

Es kann (und sollte) über eine Einstellung in der config.php deaktiviert werden: (mehr …)

PHP: Palindrom Tage anzeigen lassen

Es gibt Tage, deren deutsche Schreibweise (Tag.Monat.Jahr) Palindrome sind – heißt, sie lesen sich vorwärts wie rückwärts gleich.

Beispiel:
02.02.2020 = 02022020 (ohne Punkte)

Hinweise: Am Ende dieses Artikels finden Sie eine Liste sämtlicher Palindrom-Tage bis zum Jahr 10000.

Um sich solche Tage in den vergangenen und kommenden Jahren berechnen zu lassen, kann folgendes PHP Script helfen: (mehr …)

ERROR: Service 'ors-build' failed to build: COPY failed …

In der Dokumentation von "ORS" ("openrouteservice") finden Sie folgende "Anleitung" zur Installation:

cd docker && docker-compose up

Wenn Sie während der Ausführung den folgenden Fehler erhalten, kann Ihnen dieser Artikel vielleicht helfen:
(mehr …)

Slim (PHP): Fehler "Class 'Twig_Environment' not found"

Wenn Ihre WebAnwendung basierend auf dem "slim framework" nach einem Umzug oder einer Installation folgenden Fehler ausgibt:

Slim Application Error

stderr: Slim Application Error:
stderr: Type: Error
stderr: Message: Class 'Twig_Environment' not found
stderr: File: /home/folder/vendor/slim/twig-view/src/Twig.php
stderr: Line: 58

… dann lösen häufig folgende Schritte das Problem:

  1. PHP Version überprüfen (check PHP version)
    Prüfen Sie, ob die auf dem Server eingestellte PHP Version für Ihre WebAnwendung passend ist. Meist wird z.Bsp. für PHP v5 entwickelt und auf dem Server läuft schon PHP v7.2
  2. Berechtigungen für die Ordner & Dateien prüfen (check file & folder permissions)
    Evtl. durch das Kopieren oder manuelle EInrichten können Berechtigungen für Ordner und/oder Dateien fehlerhaft sein.
    Prüfen Sie CHMOD und CHOWN !
  3. Manchmal hilft auch (warum auch immer) folgender Vorgang:
    Öffnen Sie die Datei "…/vendor/slim/twig-view/src/Twig.php" und speichern Sie diese ohne Änderung einfach wieder ab.
    (open and save the file …/vendor/slim/twig-view/src/Twig.php)