PHP 5.2.* unter einem 64 bit Linux installieren

Posted in PHP by tobi on the April 20th, 2007

Die Installationsanleitung für 5.2 für SuSE 9.3 funktioniert leider nicht wie gewollt unter einem 64bit System. Das Configure-Script bricht spätestens beim Versuch die Headerfiles der GD zu finden mit der Fehlermeldung

CODE:
  1. configure: error: libpng.(a|so) not found.

ab.

Dies liegt nicht daran, dass die entsprechenden Dateien nicht gefunden werden können, sondern an einem (alten) Bug (PHP4) im Configure-Scripte, der meiner Meinung nach einfach mitgeschleppt wurde.
Selbst beim Versuch die GD testweise herauszulassen, bekommt man dies mit der Fehlermeldung quittiert, dass die mySQL-Header nicht gefunden wurden.

Workaround:

Man lege 2 Links von /usr nach /opt

CODE:
  1. ln -s /usr/include /opt/include
  2. ln -s /usr/lib64 /opt/lib

und gebe diesen Pfad im Configure-String mit

CODE:
  1. --with-jpeg-dir=/opt \
  2. --with-png-dir=/opt \
  3. --with-mysql=/opt \

Nun kann der Script die die Dateien auch finden. Natürlich müssen die entsprechenden Develpackete auch installiert sein:

Zur Erinnerung hier nochmal eine Checkliste der von PHP gebrauchten Pakete:

Bison
Flex
OpenSSL devel
OpenSSL Doc
ZLib devel
cURL devel
libxml
libxml devel
libxslt devel
libpng devel
freetype
freetype 2
freetype 2 devel
libcrypt devel
libmhash
libmhash devel
sablot devel
mysql devel
autoconf

meine Meinung zum “websitebaker”

Posted in PHP by tobi on the März 10th, 2007

Durch einen Kundenauftrag bin ich letzte Woche mal mit dem Websitebaker in Berührung gekommen und muss sagen, dass ich von dem u.a. in der InternetPro hoch gelobten CMS ziemlich enttäuscht bin.
Da ich PHP schon standardmäßig mit error_reporting E_ALL konfiguriere, war durch eine Notice (eine doppelte Konstante) bei der Installation und der nachfolgenden "header already sent"-Fehlermeldung schon Schluss. Erst nachdem ich manuell im Code nachgeholfen habe, ging die Installation reibungungslos von statten.
Bis auf die Startseite jedoch in fast jedem Module Notices wohin das Auge reicht, von undefinierten Offsets bis hin zu undefinierten Konstanten oder wie oben schon mal passiert eben doppelten Konstanten. Wie mag solch ein Code ausschauen? Genau so wie das Frontend: Scheußlich! Weder HTML und CSS(in eleganter Tabelle) noch PHP und mySQL sind frei von Fehlern und Sicherheitslücken.
Ich kann nur eines raten: Finger weg!

Mircosoft Firefox 2007

Posted in PHP by tobi on the Januar 18th, 2007

Was nicht zu töten ist, wird aufgebohrt und viel besser gemacht. Eine Microsoft-Philosophie die jetzt auch in die Browser-Entwicklung eingeflossen ist. Nach dem unglaublichen Erfolg von IE 7 kommt nun der MS-Firefox 2007. Natürlich nur für Nutzer des einzigen und besten Betriebssystems aller Zeiten. Ist dies das Ende der IE-Engine?
Viel Spaß mit Mircosoft Firefox 2007!!

Firefox 3.0 schafft den Acid 2 Test

Posted in PHP by tobi on the Dezember 14th, 2006

Die Mozilla Foundation hat die offizielle Alpha des Firefox 3.0 released und schafft es damit erstmals den nicht unumstrittenen Acid 2 Test zu bestehen. Die Entwickler setzen damit einen weiteren sehr wichtigen Meilenstein vor ihren Hauptkonkurrenten Internet Explorer 7. Browser wie Opera oder Safari bestehen den Acid 2 Test schon seit Längerem. Bleibt abzuwarten wann der endgültige Release-Termin ist. Ich persönliche schätze diesen nicht vor Herbst nächsten Jahres ein.
mehr dazu

mod_rewrite unter SuSE (Apache) aktivieren

Posted in PHP by tobi on the November 16th, 2006

Es ist beim SuSE-Apachen immer das gleiche: Man will etwas Spezielles nachinstallieren, fügt es hinzu und beim nächsten Apache-Neustart ist die entsprechende Zeile auch schon wieder überschrieben. Genauso erging es mir mal wieder beim Hinzufügen von mod_rewrite, denn der liebe SuSE-Apache hat so seine Tücken.
Möchte man ein Modul hinzufügen oder wegnehmen braucht man dies nur in der Datei /etc/sysconfig/apache2 zu tun. Dort stehen in der Variable APACHE_MODULES alle zu ladenden Module. Einfach das benötigte Modul hinzufügen und fertig:

CODE:
  1. APACHE_MODULES="mod_perl rewrite access actions alias auth.......

utf-8 Umstellung in einer Lamp Umgebung

Posted in PHP, XML/XHTML/CSS by tobi on the Oktober 17th, 2006

Bei der Umstellung von PHP-Scripten oder ganzen PHP-Anwendungen inklusive Datenbank-Anbindung und deren Ausgaben, von Latin1(iso-8859-*) auf utf-8 (Abk. für 8-bit Unicode Transformation Format), gibt es vieles zu beachten.
Weil iso-8859-1 bzw -15(mit €) in den meisten Fällen ausreicht, sollte dieser Zeichensatz für deutsch bzw englischsprachigen Seiten auch Verwendung finden. Wenn aber kyrillisch oder gar chinesisch auf der Seite angezeigt werden muss, liegt ein Multibyte Zeichensatz wie utf-8 nahe, da er all diese Zeichen anzeigen kann. Das W3C empfiehlt übrigens generell die Benutzung von utf-8 auf HTML-Seiten. XHTML ist grundsätzlich utf-8, wenn man nichts anderes vorgibt.
Da man den utf-8 Zeichensatz bei allen möglichen Gelegenheiten(in PHP, in mySQL, in XHTML, in CSS und im Browser) um- und einstellen kann, ist bei der Umstellung also einiges an Aufmerksamkeit gefragt, denn eine vergessene Einstellung kann schon das Scheitern des Vorhabens bedeuten.
(weiterlesen...)

alles blog oder what?

Posted in PHP, Allgemein by tobi on the Oktober 5th, 2006

Ja, ich habe mich nun doch endlich dazu überwunden statt meinem eigenen System eine Blogsoftware einzusetzen. Leider fehlt mir einfach die Zeit es so wie ich es möchte weiter zu entwickeln. Man kann eben nicht alles haben. Oder auch doch, denn Wordpress ist eine ganz feine Sache, die sich wunderbar erweitern lässt.

Die Codeschnipseldatenbank war ja total veraltet und mit teilweise völlig überflüssigem Code zugeschissen. Diese wird nun neu programmiert.

Lasst es krachen.

PEAR::DB und mysql_insert_id()

Posted in PHP by tobi on the September 5th, 2006

mysql_insert_id() gibt ja bekanntlich den letzen Autoincrement eines mysql-INSERTs bzw eines UPDATES an. Diese Vorgehensweise kann aber den Nachteil haben, dass z.B. ein Trackingsystem, das bei jedem Seitenaufruf Daten in die Datenbank schreibt, diese insert_id verfälscht. Dafür gibt man normalerweise den link indentifier mit, also den Connection-Handler. Wenn mann aber mit PEAR:DB arbeitet, muss man schon etwas suchen.
In der Klasse DB wird man fündig. Hier findet man die Eigenschaft $connection. Die Eigenschaft gibt man also seiner mysql_insert_id() einfach mit. Das ganze schaut dann etwa so aus: mysql_insert_id($db->connection). $db ist natürlich die entsprechende Objektinstanz.

PHP 5.2.* unter SuSE 9 installieren

Posted in PHP by tobi on the März 5th, 2006

Da es unter SuSE 9 keine offizielle PHP5 Version gibt, muss man sich selbst eine backen. Dieser Workshop zeigt wie und weist auf die Tücken hin, die bei diesem Update auftreten können. Dieses Tutorial funktioniert auf allen aktuellen 1&1 Rootservern mit SuSE 9.1 oder SuSE 9.3 [und PLESK], kann aber auch in höheren Versionen klappen, sofern die Apache-Version sich nicht geändert hat.
Zum Howto

mySQL-Backup über die Shell

Posted in PHP by tobi on the Februar 8th, 2006

Oft werden Datenbanken so groß, dass man sie nicht mehr über Webinterfaces wie phpMyAdmin backuppen und einspielen kann. Dazu sollte man die Datenbank über die Shell sichern und wieder einspielen.
Dieses Beispiel zeigt wie man ein Backup von mySQL macht, dieses als gzip-File packt und später wieder einspielt.

CODE:
  1. ->EXPORT
  2. mysqldump datenbankname -u username -p[passwort]>sql_backup.sql
  3.  
  4. tar -czf sql_backup.tar.gz sql_backup.sql
  5.  
  6. ->IMPORT
  7. tar -xzf sql_backup.tar.gz
  8.  
  9. mysql -u username -p[passwort] datenbank <sql_backup.sql

Nächste Seite »