Tag-Archiv für PHP

Bildercache für den Webserver nginx am Beispiel von Gravatar-Icons

Dieser Artikel ist Teil einer Reihe zum Webserver nginx.
Schau dir auch die anderen Artikel an: Zum Leitartikel

Vor einigen Tagen schrieb ich bereits über eine Möglichkeit, die Gravatar-Icons lokal zwischen zu speichern. Leider wurde dabei bei jedem Aufruf eines Bildes immer einen php-call gemacht, was mir bei manchen Beiträgen das Blog in die Knie zwingen würde und dem eigentlich gewünschten Effekt (Beschleunigung) entgegenstehen würde. Daher habe ich mir mal die Funktionen meines Webservers nginx angesehen und dabei festgestellt, dass dieser die folgende Prüfung erlaubt:

  • Ist das Bild vorhanden?
    • Wenn ja: Direkte Auslieferung
    • Wenn nein: Aufruf einer PHP-Datei zum Download des Bildes

Weiterlesen von ‘Bildercache für den Webserver nginx am Beispiel von Gravatar-Icons’

Installation von nginx mit PHP auf Gentoo

Dieser Artikel ist Teil einer Reihe zum Webserver nginx.
Schau dir auch die anderen Artikel an: Zum Leitartikel

nginxSeit einigen Tagen habe ich einen neuen Root-Server, der meine Webseite ausliefern soll. Da ich ein bisschen experimentierfreudig bin, habe ich mich zur Installation des Webservers nginx (sprich engine-x) entschlossen, da dieser in vielen Benchmarks noch schneller als lighttpd ist und gleichzeitig weniger RAM verbraucht.

Gleichzeitig sind aber die Rewrite-rules einfacher als beim lighttpd, da diese fast 1:1 vom Apache zu übernehmen sind (was den Umzug der Seiten deutlich einfacher gestaltet). Ich möchte direkt nativ alles über nginx und dessen FastCGI-Backend ausliefern, weshalb ein paar zusätzliche Artikel zu deren Rewrite-Rules oder Stolperfallen bei der Einrichtung kommen werden.
Weiterlesen von ‘Installation von nginx mit PHP auf Gentoo’

Piwik 0.4.3 ist erschienen

Die neue Version 0.4.3 der Statistik-Software Piwik ist gestern erschienen und diese bringt den versprochenen zweiten Patch von mir aus Ticket #793 mit, welcher ein Rewrite der sendHttpRequest()-Funktion ist, um Abfragen der Versionsnummer auch bei allow_url_fopen=Off zu ermöglichen.
Weiterlesen von ‘Piwik 0.4.3 ist erschienen’

Information on the minimum required version of PHP of each component of Zend Framework

German: Dieser Artikel ist auf Englisch, da er an ein internationales Publikum gerichtet ist.

In one of the latest posts on the Zend Framework maillinglist there was a question regarding the minimum required version of PHP for the current version Zend Framework (1.9.0). As of Version 1.7.0 of ZF the documentation recommends versions >=5.2.4 for PHP. Some users are stuck with php5.1.6 (e.g. those running Redhat Linux) and these need to know the components that could be problematic.

To see the minimum required version of PHP for each package of ZF, i’ve created a shellscript which uses PHP_CompatInfo from Pear. It doesn’t take the dependencies into account!

For your convinience i’ve created a website with these infos:

http://zfcompat.wolf-u.li/

By the way for all users of Redhat with PHP 5.1.6: In Zend 1.9.0 the following files that need a higher version than 5.1.6. Be aware, that some components are dependend on these files, e.g. Zend_Cache_Backend is used in about 40% of all components (see comment by Thomas below).

ZendCacheBackend.php : 5.2.1
ZendCryptDiffieHellman.php : 5.2.0
ZendCryptRsaKeyPrivate.php : 5.2.0
ZendCryptRsaKeyPublic.php : 5.2.0
ZendCryptRsa.php : 5.2.0
ZendFileTransferAdapterAbstract.php : 5.2.1
ZendNavigationPage.php : 5.2.0
ZendOpenId.php : 5.2.0
ZendPdfPage.php : 5.2.0
ZendPdf.php : 5.2.0
ZendTestPHPUnitDbOperationTruncate.php : 5.2.1

Thanks to Stefan Sturm for this list!

Still, you should run your own tests and check if your application is really working. The Website above just shows the possiblity to run a specific component under a specific php-version and isn’t taking dependencies between components into account. Or simply update to the current version of PHP :P

Zend Framework 1.9.0 ist erscheinen

Das Zend Framework ist in der Version 1.9.0 erschienen und bringt immer mehr unternehmensnahe Komponenten mit. So können mit Zend_Queue und Zend_Service_Amazon_Sqs die Queuing-Services Apache ActiveMQ, MemcacheQ, Zend Platform’s Job Queue und Amazon SQS in Anspruch genommen werden. Zend_Ldap arbeitet nun deutlich besser mit dem Microsoft Active Directory und dem Novell eDirectory zusammen. Zend_Db_Adapter_Sqlsrv ist einer neuer Datenbankadapter für den Microsoft SQLServer.
Aber auch die neue Komponente Zend_Feed_Reader ist sehr interessant, da diese eine einheitliche Schnittstelle zu allen Feeds im RSS und Atom-Feeds bietet. Eine weitere, schon lang fehlende Komponente ist Zend_View_Helper_BaseUrl, welche die URL zum public-Verzeichnis zurückgibt und auch URLs aufbauen kann.
Zudem wurden nun alle Komponenten gegen PHP5.3 getestet und sind diesbezüglich validiert. Der Support für PHP5.2 ist jedoch deswegen nicht aufgehoben, dieser ist bis auf weiteres gegeben. Das komplette Changelog ist hier zu finden.

Ein paar API-Changes waren dabei, die hier nachgelesen werden können.

Das Release ist über das SVN oder die offizielle Seite zu beziehen. Die Zeile für svn:externals lautet:

library/Zend http://framework.zend.com/svn/framework/standard/tags/release-1.9.0/library/Zend/

Fatal error: Error: cannot open phar “/to/php-5.2.10/pear/install-pear-nozlib.phar” in /to/php-5.2.10/pear/install-pear-nozlib.phar on line 795

Bei der Kompilierung von php 5.2.10 tritt der folgende Fehler auf:

Fatal error: Error: cannot open phar
"/to/php-5.2.10/pear/install-pear-nozlib.phar" in
/to/php-5.2.10/pear/install-pear-nozlib.phar on line 795
make[1]: *** [install-pear-installer] Error 255
make: *** [install-pear] Error 2

Dies lässt sich beheben, indem man ohne die Option “–with-curlwrappers” kompiliert.

Zend Framework 1.8.2 ist erschienen

Das Zend Framework ist in der Version 1.8.2 erschienen, was einige Fehler behebt, welche hier nachzulesen sind.

Mit der Einführung von Zend_Loader_Autoloader in Version 1.8.0 kamen viele Fehler auf, welche nun mit diesem Release behoben sein sollten. In allen Fällen, wo Zend_Loader::loadClass() im Framework hartcodiert war, wird nun per class_exists() zunächst geprüft und der Autoloader getriggert. Das soll das Schreiben von eigenen Adaptern und Plugins vereinfachen.

Ausserdem wurde eine neue Seite für die Changelogs eingeführt:

http://framework.zend.com/changelog

Das Release ist über das SVN oder die offizielle Seite zu beziehen. Die Zeile für svn:externals lautet:

library/Zend http://framework.zend.com/svn/framework/standard/tags/release-1.8.2/library/Zend/