Einfacher PHP Objekt Cache – APCu einrichtung

Viele kennen vielleicht den APC Cache von PHP noch. Dieser wurde zum Cachen von PHP Skripten und als Objekt Cache genutzt. Heute übernimmt allerdings der Opcode Cache die Aufgabe des Cachens von PHP Skripten und würde sich daher mit APC in Gehege kommen. Daher wurde der Objekt Cache (Userland Cache) aus APC herausgelöst und als APCu herausgebracht.

Ich verwende APCu gerne als Objekt Cache da es sich so leicht einrichten lässt und kein extra Dienst notwendig ist.

Für die Einrichtung benötigt man die zu seiner PHP Version passende dll. Diese findet man hier. Aus dem ZIP Archiv benötigen wir nur die php_apcu.dll, diese Kopiere ich mir in dem „extras“ Ordner der sich im PHP Verzeichnis befindet.

Dan müssen wir die php.ini bearbeiten und die dll als Extension in der [PHP] Section hinzufügen:

extension=C:/php/extras/php_apcu.dll

Dann müssen wir noch eine Section wie folgt erstellen:

[apcu]
apc.enable_cli = on
apc.enabled = on
apc.writable = "C:/Temp/"

Dies reicht um APCu zu aktivieren. Der Webserver sollte einmal neu gestartet werden.

Damit man den Cache überhaut nutzen kann muss man ihn im CMS aktivieren. Das geht in WordPress indem man eine object-cache.php Datei im wp-content ablegt. In WordPress kann man direkt einen Geschwindigkeitsunterschied merken auch wenn noch nicht viel im Blog ist.

Um zu sehen was im Cache ist kann man sich die Datei auf dem Webserver ablegen und Aufrufen.

Den APCu Cache wird man bei Standard Shard Hosting nicht finden da der Cache immer für alle auf dem Server gilt und es somit ein Sicherheitsrisiko darstellt. Bei Mittwald kann man allerdings APCu in den Managet Server Paketen bekommen.

Xdebug unter Windows einrichten

Xdebug verwende ich jetzt schon seit einiger Zeit, um PHP unter Windows zu Debuggen mit PHPStorm. Da ich schon einigen Leuten geholfen haben Xdebug einzurichten und zur Dokumentation meiner Einstellungen, schreibe ich dieses kleine Tutorial.

Voraussetzung ist hierfür ein lokal installierter Webserver mit PHP. Die Xdebug Konfiguration sollte nicht nur mit PHPStorm funktionieren (Dafür muss der „idekey“ entsprechend angepasst werden).

Für die Einrichtung benötigen wir die php_xdebug.dll die man hier passend zu seiner PHP Version herunterladen kann. Meistens wird dies die TS (ThradSafe) Version sein (Kann man auch daran erkennen wenn man PHP als Apache Module läuft). Die dll habe ich bei mir in das PHP Unterverzeichnis „extras“ entpackt.

Jetzt muss noch die „php.ini“ bearbeitet werden und um folgenden block ergänzt werden:

[XDebug]
zend_extension = "C:/php/extras/php_xdebug.dll"
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_connect_back = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_enable = 0
xdebug.profiler_output_dir = "C:/Temp/profiler"
xdebug.idekey = PHPSTORM
xdebug.default_enable = 0
xdebug.scream = 1

Die Beschreibungen zu den Einstellungen findet man hier im Prinzip ist aber alles so eingestellt das Xdebug nur ausgeführt wird wenn es durch einen Cookie oder URL Parameter aktiviert wird. Ich benutze dazu in Chrome den Xdebug Helper. Dort wählt man in den Optionen auch nur Die IDEKey aus und kann dann noch einstellen bei welchen Domains das Tool in der Adressliste des Browsers angezeigt werden soll.

Wenn man PHP Scripte auf Kommandozeile Debuggen will muss man einen Eintrag in den Umgebungsvariablen von Windows hinzufügen. Dieser lautet:

Name: XDEBUG_CONFIG
Wert: remote_enable=1 remote_mode=req idekey=PHPSTORM

In PHPStorm muss man bevor man mit dem Debuggen beginnt nur noch den Knopf für „Start Listening for PHP Debug Connections“ drücken und seine Breakpoints setzen.

Happy Debugging