PHP

Beispiel und Anleitungen rund um PHP

PHP-Logo

PHP-Sicherheit erhöhen

9

 Jeder Server welcher PHP-Skripte verarbeitet, sollte zumindest zwei Sicherheitsschlösser eingebaut haben, so dass man nicht jedem Tür & Tor öffnet. 

 

1.) suPHP oder suexec + fcgid

Wir sollten PHP-Skript nicht alle mit dem selben User-Berechtigungen (z.B. apache) laufen lassen, daher empfiehlt es sich auf kleinen Webservern suPHP und auf Webseiten mit mehr Traffic "Fast CGI" zu installieren. Alternativ kann man PHP mit "PHP-FPM" (FastCGI Process Manager) auch jeweils als eigenständigen Prozess laufen lassen. 

2.) Suhosin

Da einige PHP-Projekte nicht wirklich für Ihre Sicherheit bekannt sind, empfiehlt es sich zudem die "Suhosin" Erweiterung für PHP zu installieren. "Es wurde entworfen, um den Server und die Benutzer vor bekannten und unbekannten Fehlern in PHP-Anwendungen und im More >

Monatsnamen / Wochentagsnamen in deutsch via PHP

2

"Gibt einen String zurück, der den angegebenen Formatierungs-Merkmalen entspricht. Dabei wird der gegebene Timestamp/ Zeitstempel oder - falls dieser fehlt - die momentane lokale Zeit benutzt. Der Monats- und Wochentagsname wird entsprechend des per setlocale() eingestellten Wertes gesetzt." - php.net/manual/de/function.strftime.php

 

setlocale(LC_TIME, "de_DE"); echo strftime("%A"); // Wochentagsname echo strftime("%B"); // Monatsname
Konsolen-Logo

unoconv: umwandlung zwischen allen Dokument-Formaten von OpenOffice

0

Mit unoconv kann man viele Dokument-Formate konvertieren, unterstützte Formate sind unter anderem das  "Open Document Format" (.odt), "MS Word" (.doc), "MS Office Open/MS OOXML" (.xml), "Portable Document Format" (.pdf), "HTML", "XHTML", "RTF", "Docbook" (.xml)...  

Funktionen:
  • konvertiert alle Formate die OpenOffice unterstützt
  • OpenOffice unterstützt bis zu 100 Dokument Formate
  • kann genutzt werden um Vorgänge zu automatisieren (Skripte -> z.B. shell oder php)
  • unterstützt weitere Tools -> "asciidoc", "docbook2odf/xhtml2odt"
  • kann Style-Vorlagen (templates) während der Konvertierung anwenden (corporate identity)
  • kann sowohl als Server, als auch als Client fungieren

Formate:

Es folgt eine Liste von Ausgabe-Formaten von OpenOffice (und somit auch von More >

nginx_logo_klein2

Nginx + PHP5-fpm auf Debian/Ubuntu

18
Zurück zur "Webseiten beschleunigen" - Übersicht 5.3) Nginx als Webserver

Wer komplett auf nginx als Webserver umsteigen will kann dies auch sehr einfach bewerkstelligen. Ich persönlich nutzte diese Methode und es laufen mehrere WordPress-Webseiten, e107, DokuWiki u.s.w. tadellos mit diesem System.

Als erstes müssen wir unsere sources.list ein wenig erweitern... um php5-fpm direkt mit dem Projektmanager installieren zu können, wie dies Funktioniert habe ich bereits in einem anderen Beitrag beschreiben: php-5-FPM

Danach installieren wir nginx (Webserver) + PHP, wenn du noch apache2 oder einen anderen Webserver, welcher auf Port 80 lauscht installiert hast, musst du diesen nun deinstallieren bzw. erst einmal stoppen und ggf. einige libraries nachinstallieren, falls du More >

PHP 5.3.3

3
Auf Dotdeb.org gibt es PHP in Version 5.3.3 im .deb-Format. Das nachfolgende kleine HowTo zeigt wie du dies auf Debian installieren kannst. Es gibt Pakete für Debian (Lenny), sowohl für amd64 als auch i386 Architekturen. Install: 1.) als erstes benötigen wir eine Root-Shell sudo bash 2.) nun können wir die zusätzlichen Quellen einfügen echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list echo "deb-src http://php53.dotdeb.org stable all" >> /etc/apt/sources.list 3.) diese einmal aktualisieren apt-get update 4.) und schon können wir PHP 5.3 installieren aptitude safe-upgrade Migration von PHP 5.2.x zu PHP 5.3.x: de.php.net/migration53 Falls man bereits mit Debian (Squeeze) arbeitet oder die Lenny-Backports in den Quellen eingefügt hat und daher das Paket More >
php - Logo

APC + eAccelerator + XCache

5

PHP besitzt selbst keinen Cache, was dazu führt, dass ein Skript bei jedem Aufruf neu übersetzt werden muss. Um dem entgegenzuwirken, gibt es einige Erweiterungen, die diese Funktionalität nachrüsten, wie beispielsweise den eAccelerator den alternativen PHP Cache.

Da PHP selber noch keinen Cache besitzt, was zur Folge hat das die Skript immer und immer wieder neu übersetzt werden müssen, gibt es ein paar Erweiterungen, welche diese Funktion nachrüsten. Und schon sind wir beim Thema.

1.) APC (Alternative PHP Cache)

APC ist ein Open-Source-Zusatzmodul für PHP, das eine beschleunigte Ausführung von PHP-Programmen ermöglicht. Die Beschleunigung wird dadurch erreicht, dass der kompilierte PHP-Quelltext zwischengespeichert wird und bei wiederholter Ausführung das zeitaufwändige More >

PHP optimieren

0
Zurück zur "Webseiten beschleunigen" - Übersicht 6.) PHP optimieren/caching

6.1) PHP-Daten zwischenspeichern

Im folgenden Blog-Eintag habe ich bereits den Vorteil dargestellt, wenn man php-Daten zwischenspeichert.

-> APC + eAccelerator + XCache <-

6.2) SQL-Abfrage mittels PHP zwischenspeichern

Man kann auch verschiedene Caching-Methoden miteinander kombinieren, so habe ich z.B. Zeitweise auf dieser Webseite sowohl eAccelerator als auch "memcached + php5-memcache" eingesetzt, jedoch war der Speicherverbrauch nicht für einen kleinen V-Server ausgelegt.

Distributed memory caching system, was bedeutet, dass als Speichersystem auch mehrere Rechner verwendet werden können, ursprünglich wurde memcache für Livejournal entwickelt.

Um mittels memcachd Daten direkt More >

no_cache_expires

Browser-Cache nutzen

0
Zurück zur "Webseiten beschleunigen" - Übersicht 4.) Browser-Cache nutzen 4.1) Browser-Cache manuell einstellen

Falls du keinen Zugriff auf die Konfiguration von Apache hast, kannst du den Browser-Cache folgendermaßen beeinflussen. Nun wollen wir unseren JS/CSS Dateien noch einen Header mitgeben, welcher wiederum bewirkt, dass der entsprechende Browser (Client) die Datei für eine gewisse Zeit speichert und für „neu“ hält, dies spart wieder Traffic, welchen wir nicht bezahlen müssen und außerdem beschleunigt es den Seitenaufruf.

CSS in PHP umbenennen, um den php-Code in der Datei ausführen zu können.

mv test.css test.css.php

Anschließend werden wir am Anfang der Datei folgendes mit einfügen.

<?php require_once("gzipCSS.php"); ?>

Im folgenden Beispiel wird die More >

tacho

Webseiten beschleunigen – Übersicht

8

Der Artikel beschreibt, wie man seine Webseite bzw. seinen Server analysiert und optimiert um Performance zu gewinnen, Ladezeit zu reduzierten bzw. Traffic einzusparen. Man kann einiges an Performance gewinnen, indem man z.B. Bilder im richtigen Format abspeichert bzw. komprimiert, CSS- / JS-Dateien kombiniert und ebenfalls komprimiert oder auch bestimmt Daten vorkomprimiert zur Verfügung stellt.

1.) Webseiten Analyse 1.1) Webseiten Benchmark

2.) Komprimierung 2.1) Bilder komprimieren 2.1.1) Bilder Sprites 2.1.2) PNG-Bilder komprimieren 2.1.3) JPEG-Bilder komprimieren 2.1.4) Bilder komprimieren – Online 2.2) JavaScript/CSS komprimieren 2.2.1) JavaScript/CSS komprimieren - serverseitig 2.2.2) JavaScript/CSS komprimieren - Online 2.3) Apache gzip-Kompression More >

Twitter automatisieren!

0
Auf folgender Webseite (www.catswhocode.com) habe ich ein paar sehr interessante PHP-Skript gefunden, eines davon stelle ich hier kurz vor. Das Skript läuft "out of the box", dass heißt es ist nicht notwendig, dass man irgendwas von dem folgenden PHP-Code versteht ^^ alles was du tun musst ist, die Variablen einzusetzen -> $user, $pass und $term. $user = "Benutzernamen"; $pass = "Passwort"; $term = "Suchbegriff"; Hinter $term steht der Begriff für die Suche in der User-Timeline, wer diesen Begriff erwähnt, wird automatisch von dir verfolgt... < ?php // Twitter Auto-follow Script by Dave Stevens - http://davestevens.co.uk $user = "enter_your_twitter_username_here"; $pass = "enter_your_twitter_password_here"; $term = "enter_the_search_term_to_follow_here"; $userApiUrl = More >
Go to Top