Kategorie: PHP
-
PHP Anwendungen automatisiert modernisieren mit rector
Das Tool rector ist eine Konsolenanwendung für automatisiertes Refactoring von PHP Anwendungen. Damit lassen sich schnell einfache Altlasten entfernen aus Legacy Projekten. Mit dem folgenden Rector Script (./rector.php) können die gängigsten Refactorings durchgeführt werden: ausführbar im Dry mode ohne Änderungen am Code mit:
-
SSO Saml Login mit Symfony
Single-Sign-On ist das Thema der Stunde, es verbessert die Sicherheit und auch die User Verwaltung. Um Saml SSO in Symfony einzubauen gibt es das OneloginSaml Bundle, ein Symfony Wrapper für das php-saml Packet. Der Vorteil für die Benutzer von SSO liegt darin, dass diese sich morgens einmal authentifizieren müssen und danach den ganzen Tag alle…
-
PHP-FFMpeg resize Video
Um mit PHP-FFMpeg ein Video auf eine maximale Größe und Breite zu resizen kann man folgenden Code verwenden: Usage:
-
Symfony System-Test für valide Konfiguration der Umgebungen
Es gibt in Symfony die Möglichkeit mehrere Umgebungen (Environments) anzulegen und verschiedenartig zu konfigurieren. Das Problem ist, dass die automatisierten Tests immer gegen die Test-Umgebung und somit auch gegen die Test-Konfiguration gemacht werden. Wie kann man sicher gehen, dass die produktive Konfiguration valide ist und dies mit einem automatisierten Test absichern? Die Antwort ist sehr…
-
WordPress Bitnami Banner entfernen auf AWS AMI
Um den Bitnami Banner entfernen zu können, soll man per SSH einen Konsolenbefehl ausführen: dies führte bei mir zu einer Fehlermeldung, dass die Datei bnconfig nicht vorhanden ist: sudo: /opt/bitnami/apps/wordpress/bnconfig: command not found Die Ursache ist, dass die Datei standradmäßig erst deaktiviert ist, es gibt eine /opt/bitnami/apps/wordpress/bnconfig.disabled Diese muss aktiviert werden, indem sie umbenannt wird…
-
Symfony Cache mit Datenbank
Die Symfony Cache Komponente besitzt eine große Zahl von möglichen Adaptern zum Cachen von Informationen. Zum Cachen in der Datenbank kann man den folgenden PdoAdapter für Doctrine verwenden und folgender Maßen konfigurieren: #config/packages/framework.yaml framework: cache: pools: app: adapter: AppCache #config/services.yaml AppCache: class: Symfony\Component\Cache\Adapter\PdoAdapter arguments: – ‚@doctrine.dbal.default_connection‘ Damit erzeugt Symfony eine Datenbank…
-
Symfony 5 Exception „The annotation was never imported.“
Ein Grund der Fehlermeldung kann sein, dass es tatsächlich eine Annotation ist, die ungültig ist, sich aber im vendor Code befindet. Dann sollte man diese ignorieren. Fehlermeldung: Doctrine\Common\Annotations\AnnotationException : [Semantical Error] The annotation „@suppress“ in method Monolog\Formatter\LineFormatter::normalizeException() was never imported. Did you maybe forget to add a „use“ statement for this annotation? Sollte man die…
-
PHP eigene Metriken in AWS Cloudwatch erstellen
Um in CloudWatch eigene Metriken anzulegen, um z.B. Alarm auszulösen und Monitoring zu betreiben mit den Daten der Applikation, kann man mit dem aws-php-sdk den folgenden Code verwenden: $client = new CloudWatchClient([ ‚region‘ => ‚eu-central-1‘, ‚version‘ => ‚2010-08-01‘, ‚credentials‘ => [ ‚key‘ => ‚xxx‘, …
-
DockerFile PHP mit XDebug und Amazon Linux 2
Ein DockerFile für eine PHP 7.2. Umgebung mit XDebug für eine Symfony 4 Umgebung unter Amazon Linux 2: FROM amazonlinux:2.0.20190823.1 RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # install php RUN amazon-linux-extras install -y php7.2 RUN yum install -y php-devel.x86_64 php-xml.x86_64 php-pecl-zip.x86_64 php-intl.x86_64 #install xdebug RUN yum install -y gcc make RUN yum install -y php-pear.noarch RUN…
-
PHP csv Datei mit Umlauten erstellen für Excel
Um eine csv-Datei zu erstellen, in der die Umlaute richtig kodiert sind, muss man in seinem Projekt, welches im Normalfall UTF-8 kodiert ist, die Umlaute nach UTF-16LE kodieren. Diese Kodierung kann von Windows und Mac angezeigt werden. $file = fopen(‚file.csv‘, ‚w‘); foreach ($rows as $row) { $row = array_map(function($cell){ return mb_convert_encoding($cell, ‚UTF-16LE‘, ‚UTF-8‘); }, $row);…