Angular, AWS und Symfony Freelancer

Kategorie: PHP

  • Analyse von sehr großen gzip/bzip2 gepackten Log-Dateien per Stream

    Man kann per Stream in PHP beim verarbeiten der Daten sehr große Log-Dateien, die mehrere GB groß sind, sehr leicht analysieren mit Hilfe von Stream Compression Filter. Damit kann die Datei ohne sie komplett in den Speicher laden zu müssen entpackt und analysiert werden beim Einlesen der Datei. Dadurch kann man während des einlesens der…

  • Verabreiten großer Dateien in PHP mittels Generator

    Um große Datenmengen mit PHP zu verarbeiten benötigt man viel Memory Speicher, weil große Mengen Daten geladen und dann verarbeitet werden. Eine speichersparende Alternative bieten Generatoren ab PHP 5.5., die mit dem yield Befehl durch große Datenmengen iterieren können und nur Speicherplatz für einen Datensatz belegen. Beispiel: Verarbeiten einer großen CSV Datei mittels Generators: <?php…

  • WordPress Posts mit Links autoamtisch als Spam markieren

    Damit man von dn ganzen Spam Bots nicht genervt wird, deren Zie es immer ist einen Kommentar mit einem oder mehreren Links auf ener Webseite zu platzieren, habe ich ein kurzes Skript geschrieben, was in die function.php eingefügt werden muss. Das Skript markiert alle Kommentare als Spam, die einen Link enthalten. add_action( ‚comment_post‘, ’show_message_function‘, 10,…

  • PHP auf Linux Konsole on-the-fly ausführen

    Wenn man einen kurzen PHP Befehl ausführen will auf der Konsole, kann man mit dem –run Parameter Code schnell und unkompliziert ausführen php -r „echo ‚hello world‘;“ //Ausgabe hello world

  • Stress Testing Tools

    Zum Stress- bzw. Last-Testen von PHP Applikationen kann man das Tool Apache bench  oder Seige benutzen. Damit lässt sich das Verhalten einer Applkation unter hoher Last testen.

  • Server Management mit Forge

    Ein sehr einfaches und gutes Tool für das Server Management von PHP Applikationen ist Laravel Forge, mit dem man seine App auf AWS, Digital Ocean oder Linode betreiben kann inkl. Load Balancing Cron Jobs Domain-Management SSL Zertifikate Queues

  • PHP asynchornen Thread starten

    Mit PHP kann man nativ keine asynchronen Threads starten, aber über das Betriebsystem natürlich schon. Mit dem Linux command „ab“ kann man sehr einfach einen neuen Thread erstellen und langlaufende Aktionen auslagern. Zum Escapen von shell Argumente kann mn die Funktion escapeshellarg benutzen. exec(‚echo „php create-report.php“ | at now‘);

  • PHP PDO Connection Timeout für Datenbank setzen und bestimmen

    Normalerweise soll man das Datenbank Connection Timeout in PHP auslesen können mittels: $pdo = new PDO(‚mysql:host=localhost;port=80;dbname=xxx‘, ‚xxx‘, ‚xxxx‘); $pdo->getAttribute(PDO::ATTR_TIMEOUT); Allerdings gibt das bei meiner alten PDO Version die Fehlermeldung: SQLSTATE[IM001]: Driver does not support this function: driver does not support that attribute Also habe ich ein Testscript geschrieben, mit dem man das Timeout provozieren kann…

  • PHP How to debug Segmentation Faults

    Um Segementation Faults, die gerne in PHP7 zur Zeit auftreten zu bestimmen und zu analysieren, kann man folgender Weise vorgehen 1. Angabe des Speicherortes für die Coredumps echo ‚/tmp/coredump_%e_%p‘ > /proc/sys/kernel/core_pattern 2. aktivieren der Coredumps in PHP-FPM in der Datei: php-fpm.conf: rlimit_core = unlimited ; vorher: 0 3. PHP FPM restarten service php-fpm restart 4.…

  • SSH Verbindung mit PHP

    Um eine SSH Verbindung mit PHP zu erstellen, gibt es mehrere Möglichkeiten: Die saubere Lösung: Verbinden mit PHP-SSH2 Dazu muss die das Package php-ssh2 installiert werden, siehe php.net.     $connection = ssh2_connect($host, $port);     if(ssh2_auth_password($connection, $user, $password)){         $stream = ssh2_exec($connection, $command);         stream_set_blocking($stream, false);         $stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);       …