Verschlagwortet: PHP

0

Eclipse kann Update-Sites nicht erreichen

Wer – wie ich und viele andere – auf Eclipse als Entwicklungs-IDE setzt, wird früher oder später auch auf die Tücken und kleinen Stolperfallen der Freeware-Lösung stoßen. Eine davon – wenn man Google und verschiedenen Foren glaub darf – ist schon mehrfach aufgetreten, auf die richtige Lösung zu stoßen ist jedoch Glückssache. Es geht darum, über Eclipse weitere Plugins wie bspw. Subversion oder auch die PHP Development-Tools nachzuinstallieren. Gerade bei DualStack-Arbeitsrechnern – also denen, die sowohl via IPv4 als auch IPv6 angebunden sind – funktioniert das nicht ohne weiteres. Eclipse wird den Dienst mit der Fehlermeldung Unable to read repository...

2

mySQL und die Zeit

Oft wurstelt man bei der Entwicklung mit UNIX-Timestamps für Zeitangaben herum. Das ist kein Hexenwerk, aber direkt das Gelbe vom Ei ist es auch nicht. Speziell zur Implementierung von Zeit- und Datums-Filtern benötigt dieser Lösungsansatz eine Menge Logik, die in PHP gegossen werden muss (Schaltjahre, Schaltsekunden, …). Das Herumrechnen damit ist mühsam und sorgt oft für Knöten im Hirn. Dies kann man wesentlich einfacher haben. mySQL kommt mit einer großen Vielfalt von Datums- und Zeitfunktionen daher, derer man sich wunderbar bedienen kann. Wenn man sich zum Beispiel die Funktion TIMESTAMPADD() ansieht, wird man schnell merken, dass diese Funktionen das Entwicklerleben...

0

Merkzettel PHP eaccelerator und ioncube_loader

eAccelerator ist erst ab Version 0.9.6.1 zum ioncube_loader kompatibel. Der ioncube_loader darf dann aber nicht via „extension=ioncube….so“ eingebunden werden (wie im HowTo beschrieben) sondern muss ueber „zend_extension=“/var/lib/php/…./ioncube….so“ in die php.ini eingetragen werden.

0

PHP 5.3.3 mit nativem php-fpm bauen

Als Merkzettel: cd /usr/local/src/ wget ‚http://de.php.net/get/php-5.3.3.tar.bz2/from/this/mirror‘ tar jxf php-5.3.3.tar.bz2 export CFLAGS=‘-O3 -mtune=core2 -mmmx -msse -msse2 -msse3 -fexpensive-optimizations -ftree-loop-optimize -ftree-vectorize -ftree-vectorizer-verbose=5′ export CXXFLAGS=$CFLAGS wget ‚http://download.suhosin.org/suhosin-patch-5.3.3-0.9.10.patch.gz‘ gunzip suhosin-patch-5.3.3-0.9.10.patch.gz cd php-5.3.3 patch -p 1 -i ../suhosin-patch-5.3.3-0.9.10.patch ./buildconf ./configure –prefix=/usr/local/php533 -with-libdir=lib64 –with-openssl –with-zlib –enable-bcmath –with-bz2 –enable-calendar –with-curl –enable-dba=shared –enable-exif=shared –with-pcre-regex –enable-ftp=shared –with-gd=shared –with-jpeg-dir –with-png-dir –with-zlib-dir –with-xpm-dir –with-freetype-dir –with-gettext –with-imap=shared,/usr –with-imap-ssl –with-kerberos –enable-mbstring –with-mcrypt=shared,/usr –with-mhash=shared,/usr –with-mysql=shared –with-mysqli=shared –with-pdo-mysql=shared –with-pspell=shared,/usr –enable-soap –enable-sockets –enable-sqlite-utf8 –enable-sysvmsg –enable-sysvsem –enable-sysvshm –with-tidy=shared,/usr –enable-wddx –with-xmlrpc=shared –with-libexpat-dir –with-iconv-dir –enable-zip –with-pear –enable-zend-multibyte –enable-fpm –enable-gd-native-ttf –with-fpm-user=www-data –with-fpm-group=www-data –with-config-file-path=/usr/local/lib –with-config-file-scan-dir=/etc/php5/conf.d make -j3 make test make install cd .. wget ‚http://pecl.php.net/get/memcache-2.2.5.tgz‘ tar zxf memcache-2.2.5.tgz cd memcache-2.2.5 export...

0

URL Rewrite Regeln fuer lighttpd und TYPO3

Hier der Regelsatz, der auch mit wkhtmltopdf und diversen News Extensions klarkommt: url.rewrite-once = ( „^/(typo3|info/|typo3temp/|typo3conf/|uploads/|fileadmin/|t3lib/|robots\.txt|clear\.gif|favicon\.ico).*$“ => „$0“, „^/$“ => „index.php“, „^typo3$“ => „typo3/index_re.php“, „.html\?([^*]+)“ => „index.php?$1“, „.html$“ => „index.php“, „^([^*]+)\.([^*])+\.html\?([^*]+)$“ => „index.php?id=$1&type=$2&$3“, „^/.*\?([^*]+)“ => „index.php?$1“, „^/.*$“ => „index.php“, )

5

Server mit memcached, php-memcache und aktiviertem TYPO3 (>4.3.0) Caching Framework

memcached ist perfekt zum cachen eigener Inhalte. Damit der Server damit ausgeruestet ist: apt-get install memcached Ist ein Server mit mehr als 2 Kernen ausgestattet, sollte das threaded Paket installiert. Der memcached sollte den freien RAM vollstaendig ausnutzen (nicht ueberbuchen, damit’s nicht ins SWAP geht). Die Speichermenge kann in /etc/memcached.conf eingestellt werden. PHP kann eine API anbieten (die Applikationen muessen sich aber schon selbstaendig um die Verwendung und Organisation des Caches kuemmern: z.B. TYPO3 Extensions koennen vom TYPO3 Core Caching Framework via memcache profitieren ) Um die PHP Erweiterung zu installieren: apt-get install php5-dev pecl install memcache-3.0.6 Ideale PHP Werte...

1

eaccelerator best practice

Vernuenftige Einstellungen fuer den eaccelerator in der php.ini /etc/php5/conf.d/eaccelerator.ini … sollte enthalten: zend_extension=“/usr/lib/php5/20060613/eaccelerator.so“ eaccelerator.shm_size=“64″ eaccelerator.enable=“1″ eaccelerator.optimizer=“1″ eaccelerator.check_mtime=“1″ eaccelerator.debug=“0″ eaccelerator.filter=““ eaccelerator.shm_max=“0″ eaccelerator.shm_ttl=“0″ eaccelerator.shm_prune_period=“0″ eaccelerator.shm_only=“1″ eaccelerator.compress=“1″ eaccelerator.compress_level=“5″ Wird check_mtime auf 0 gesetzt, beschleunigt der Cache noch deutlich schneller, allerdings finden updates erst mit sehr deutlicher Verzoegerung statt -> nix fuer CMS

0

eaccelerator update

Wird PHP aktualisiert und ist kein geeignetes re2c (fast nie) verfuegbar, kann in der Regel PHP nicht mehr starten, bzw. verursacht haessliche Fehler. Abhilfe schafft, den eaccelerator neu zu kompilieren: /etc/init.d/apache2 stop kill -9 `pidof php5-cgi` cd /usr/local/src/eaccelerator-0.9* make clean phpize ./configure –enable-eaccelerator –without-eaccelerator-use-inode make make install /etc/init.d/apache2 start