Copying sources and texts (also in parts) for publishing without our permission is NOT ALLOWED. We are fed up with finding our work on other sites (like stackoverflow).
Das Kopieren von Quellcode und Texten (auch in Auszügen) ist nicht erlaubt. Wir haben es gründlich satt, unsere Arbeit auf anderen Webseiten zu finden.

Copying for non-public usage is allowed.           Das private Kopieren und Benutzen ist natürlich erlaubt und erwünscht.
22. Dez 2008
Teaser

Windows XP Setup verbindet sich mit Server

Bereits während der Installation von Microsoft Windows XP (SP2) verbindet sich das System mit einem Microsoft-Server.

Sollten Sie also Wert darauf legen, ein unberührtes WinXP nach einer Installation zu erhalten, dann ziehen Sie bereits vor der Installation Ihren Netzwerkstecker. Nachdem WinXP sich fertig installiert (und Sie eine Firewall eingerichtet haben) können Sie den Netzwerkstecker wieder einstecken.

21. Dez 2008
Teaser

Was ist der “Bonjour Service” ?

Der “Bonjour Service” wird seit einiger Zeit von Adobe genutzt. Bei der Installation ihrer Software auf dem PC wird der Dienst (ohne dass der Benutzer gefragt oder deutlich informiert wird) automatisch installiert und aktiviert.

Es ist z.Bsp. für den Betrieb der Software Pakete aus der Serie CS3 notwendig.

Bereits während der Installation versucht sich der Dienst zu Adobe zu verbinden.

Eine Einschätzung über die Gefahr der unbemerkten Datenübertragung an den Softwarehersteller kann ich nicht geben – aber seinen Teil denken kann man sich schon.

21. Dez 2008
Teaser

Entwicklungsumgebung mit cakePHP, mySQL & Eclipse

Benötigte Software (in Klammern die für diese Anleitung genutzte Version)

  • XAMPP (1.6.8 – Win32, Basic Package)
  • cakePHP (1.2.0.7945-rc4, Zip Archiv)
  • Eclipse (3.4.1 Classic (Ganymede) – Windows, Zip Archiv)

Installation(en)

Sofern ich keine Angabe zu einem Bildschirm oder Schritt einer Software-Installation gemacht habe, übernehmen Sie einfach die vorgegebenen / angezeigten Einstellungen.

  • XAMPP
    • Starten Sie die “xampp-win32-1.6.8-installer.exe”
    • Zielverzeichnis: “C:\xampp” (Standard)
    • Am Ende wird angeboten, das Control Panel zu starten.
      Wählen Sie “Ja” – Starten Sie jedoch noch kein Modul
  • cakePHP
    • Legen Sie im Verzeichnis “C:\xampp” einen neuen Unterordner “www” an
    • Entpacken Sie das Archiv “cake_1.2.0.7945-rc4.zip” im neuen Order “www”
    • Benennen Sie den erstellten Ordner um in “cakePHP”
      Sie haben jetzt ein Verzeichnis “c:\xampp\cakePHP”.
      In diesem finden Sie vier Ordner und u.a. die “index.php”
    • Gehen Sie in das Verzeichnis “C:\xampp\www\cakePHP\app\config”
    • Öffnen Sie die Datei “core.php”
    • Suchen Sie die folgende Zeile und ändern Sie den zweiten Parameter (“DYhG93..”) in eine andere willkürliche & zufällige Zeichenkette ab:
      Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
    • Speichern Sie die Datei und schließen Sie den Editor
    • Im gleichen Verzeichnis finden Sie die Datei “database.php.default”
    • Kopieren Sie die Datei in “database.php” und öffnen Sie sie mit einem Editor
    • Am Ende der Datei tragen Sie die Zugangsdaten für Ihren mySQL Server (s.u.) ein:
      var $default = array(
      'driver' => 'mysql',
      'persistent' => false,
      'host' => 'localhost',
      'login' => 'root',
      'password' => 'masterpwd',
      'database' => 'cakePHP',
      'prefix' => '',
      );

      Sicherheitshinweis:
      Bitte nutzen Sie andere Passwörter. Ich verwende in meinem Beispiel stets “masterpwd” – ersetzen Sie es durch ein sicheres Passwort. Außerdem nutze ich in diesem Beispiel den Datenbankuser “root”. Wenn Ihre Entwicklungsumgebung nicht sicher oder geschützt ist, nutzen Sie bitte einen anderen Datenbankuser. Die Einrichtung und Einstellungen sind nicht Teil dieser Anleitung.

  • Virtuellen Server unter Apache (XAMPP) konfigurieren
    • Gehen Sie in das Verzeichnis “C:\xampp\apache\conf\extra”
    • Öffnen Sie die Datei “httpd-vhosts.conf” mit einem Texteditor
    • Entfernen Sie am Anfang der Datei die Kommentarzeichen (#) vor dieser Zeile:
      NameVirtualHost *:80
    • Fügen Sie am Ende der Textdatei die folgenden Zeilen hinzu:
      <VirtualHost *:80>
        ServerAdmin webmaster@local
        DocumentRoot c:/xampp/htdocs
        ServerName localhost
        ErrorLog C:/xampp/apache/logs/error.log
        CustomLog C:/xampp/apache/logs/access.log common
      </VirtualHost>
      
      <VirtualHost *:80>
        ServerAdmin webmaster@cakePHP.local
        DocumentRoot c:/xampp/www/cakePHP/app/webroot
        <Directory c:/xampp/www/cakePHP/app/webroot>
          Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
          DirectoryIndex index.php index.shtml index.html index.htm
          Order allow,deny
          Allow from all
        </Directory>
        ServerName cakePHP
        ErrorLog C:/xampp/apache/logs/cakePHP-error.log
        CustomLog C:/xampp/apache/logs/cakePHP-access.log common
      </VirtualHost>
    • Speichern Sie die Datei und schließen Sie den Editor
    • Gehen Sie in das Verzeichnis “C:\windows\system32\drivers\etc”
    • Öffnen Sie die Datei “hosts” mit einem Texteditor
    • Fügen Sie am Ende der Datei folgende Zeile hinzu:
      127.0.0.1    cakePHP 
    • Speichern Sie die Datei und schließen Sie den Editor
  • Apache (WebServer) starten
    • In der unteren rechten Bildschirmecke finden Sie neben der Uhr ein oranges “X” Symbol.
      Klicken Sie es einmal mit der linken Maustaste an. Das XAMPP Control Panel öffnet sich.
    • Klicken Sie hinter “Apache” auf den “Start” Button
      Nach wenigen Sekunden wird vor dem Button der grüne Text “Running” erscheinen.
      Gut gemacht: Ihr WebServer läuft !
  • mySQL & phpMyAdmin konfigurieren (Datenbank & -administration)
    • Klicken SIe auf “Start” hinter “MySQL”
    • Nach wenigen Sekunden wird vor dem Button der grüne Text “Running” erscheinen
    • Ändern Sie das Masterpasswort Ihres mySQL Servers:
      Dafür führen Sie folgenden Befehl aus (drücken Sie dafür die Windowstaste + “R” zusammen):

      c:\xampp\mysql\bin\mysqladmin --user=root --password= password masterpwd

      Wählen Sie bitte ein anderes (sichers) Passwort und ersetzen Sie “masterpwd” an Ende der Zeile durch Ihr Passwort.

    • Gehen Sie in das Verzeichnis “C:\xampp\phpMyAdmin” und öffnen Sie die Datei “config.inc.php”
    • Tragen Sie Ihr Passwort in die folgende Zeile ein (die Hochkommata sind wichtig):
      $cfg['Servers'][$i]['password'] = 'masterpwd';
    • Speichern Sie die Datei und schließen Sie den Editor
    • Starten Sie Ihren Browser (z.Bsp. Mozilla Firefox) und öffnen Sie folgende Seite:
      http://localhost/phpmyadmin/
    • Wieder gut gemacht: Ihr Datenbankserver läuft !
    • Legen Sie eine neue Datenbank an:
      In der mittleren Spalte geben Sie unter “Neue Datenbank anlegen” den Namen “cakePHP” in das Textfeld ein und klicken auf “anlegen”
  • cakePHP testen
    • Öffnen Sie in Ihrem Browser die URL “http://cakePHP
    • Ihnen wird die Standardseite von cakePHP angezeigt.
      Dabei zeigen Ihnen die vier grünen Bereiche die notwendigen (und erfüllten) Voraussetzungen an.

Ihre cakePHP Installation ist jetzt vollständig einsetzbar. Die Installation und Konfiguration von Eclipse bringt Ihnen jedoch einen vielseitigen und optimalen Editor für Ihre neuen (php) Webseiten. Die Codevervollständigung, PHP Syntaxprüfung und weitere Features unterstützen Sie bei der Entwicklung Ihrer Internetseiten.

Bei dieser Anleitung habe ich die Eclipse Classic Version gewählt. Je nach Wunsch können Sie aber auch andere (auf der Eclipse Download Seite angezeigte) Versionen nutzen.


  • Eclipse installieren (optional)
    • Entpacken Sie das Archiv “eclipse-SDK-3.4.1-win32.zip”.
      In dem erhaltenen Verzeichnis “eclipse-SDK-3.4.1-win32” finden Sie den Ordner “eclipse”.
    • Kopieren Sie diesen “eclipse” Ordner in das Verzeichnis “C:\xampp” hinein.
      Sie haben jetzt ein Verzeichnis “C:\xampp\eclipse”.
    • Dort finden Sie die Anwendung “eclipse.exe”, die Sie bitte starten
    • Sie werden nach Ihrem gewünschten “Workspace” gefragt:
      Wählen Sie als Verzeichnis bitte “C:\xampp\www”
    • Beim ersten Start von Eclipse wird Ihnen die Startseite angezeigt.
      Dort klicken Sie auf das rechte Symbol (“Workbench”).
      Sie sehen jetzt den Arbeitsbereich Ihrer Eclipse Installation

Eclipse ist jetzt bereits voll einsetzbar. Damit Ihnen die Arbeit mit PHP aber leichter fällt und alle gewünschten Zusatzfunktionen zur Verfügung stehen, muss die PHP Erweiterung installiert werden:

  • Eclipse: PHP Erweiterung (Plugin) installieren
    • Klicken Sie in Eclipse auf den Menüpunkt “Help” und dann auf “Software Updates …”
    • Wählen Sie den Reiter “Available Software” aus
    • Klicken Sie dort auf den Button “Add Site” und geben Sie die folgende URL ein:
      http://update.phpeclipse.net/update/stable/1.2.x
    • Die neuen Quellen werden in der Softwareliste angezeigt
    • Aktivieren Sie die beiden Einträge
      http://phpeclipse.sourceforge.net/ […] und
      http://update.phpeclipse.net/ […]
    • Klicken Sie auf “Install”
    • In der Übersicht klicken Sie auf “Next”
    • Lesen Sie die Lizenzbedinungen, stimmen Sie zu und klicken Sie auf “Finish”
      Die aktuellen Updates für Eclipse und das PHP Plugin werden jetzt installiert
    • Am Ende der Installation wird Ihnen der Neustart von Eclipse angeboten.
      Stimmen Sie zu

Alle Programme und Erweiterungen sind nun fertig installiert. Sie können mit der Arbeit an Ihren Webseiten beginnen:

  • Ihr cakePHP Projekt (s.o.) in Eclipse öffnen
    • Wählen Sie in Eclipse den Menüpunkt “Window”, dann “Open Perspective” und jetzt “Other”
    • Klicken Sie doppelt auf den Listeneintrag “PHP”.
      Ihre Arbeitsfläche hat sich nun an PHP angepasst
    • Im linken Bereich (“Navigator”) drücken Sie die rechte Maustaste, wählen “New” und “PHP Projekt”
    • Als Projektnamen geben Sie “cakePHP” ein und klicken auf “Finish”
    • Ihnen wird ein neuer Eintrag im Navigator angezeigt: Ihre cakePHP Installation

Fertig.

20. Dez 2008
Teaser

mySQL: Merge Beispiel

Mit dem mySQL Befehl “Merge” können Sie Tabellen zusammenführen lassen.

CREATE TABLE log_01 (
pkey int(11) NOT NULL auto_increment,
a int,
b varchar(12),
timeEnter timestamp(14),
PRIMARY KEY  (pkey)
) type=MyISAM;
CREATE TABLE log_02 (
pkey int(11) NOT NULL auto_increment,
a int,
b varchar(12),
timeEnter timestamp(14),
PRIMARY KEY  (pkey)
) type=MyISAM;
CREATE TABLE log_summary (
pkey int(11) NOT NULL auto_increment,
a int,
b varchar(12),
timeEnter timestamp(14),
PRIMARY KEY  (pkey)
) type=MERGE UNION(log_01,log_02) INSERT_METHOD=LAST;

Wenn Sie nun in die beiden ersten Tabellen (log_01 & log_02) Datensätze einfügen …

mysql> insert into log_01 (a,b) values (1,'log1');
mysql> insert into log_02 (a,b) values (1,'log2');

… können Sie diese als einheitliche Tabelle unter “log_summary” abfragen:

mysql> select * from log_summary;
select * from log_summary;
+------+------+------+---------------------+
| pkey | a    | b    | timeEnter           |
+------+------+------+---------------------+
|    1 |    1 | log1 | 2004-04-16 11:59:55 |
|    1 |    1 | log2 | 2004-04-16 12:00:08 |
+------+------+------+---------------------+
2 rows in set (0.00 sec)

Weitere Informationen finden Sie unter:
http://dev.mysql.com/doc/mysql/en/MERGE.html

16. Dez 2008
Teaser

mySQL Prozesse auflisten & stoppen

Sie können sich die Prozesse auf Ihrem mySQL Server anzeigen lassen und auf Wunsch beenden.

Auflisten der aktuellen Prozesse:

mysql> show processlist;

Ihnen wird folgende Liste (als Beispiel) angezeigt:

+-----+------+-----------+---------+---------+-------+-------+------------------+
| Id  | User | Host      | db      | Command | Time  | State | Info             |
+-----+------+-----------+---------+---------+-------+-------+------------------+
| 385 | prog | localhost | NULL    | Query   |     0 | NULL  | show processlist |
| 957 | prog | localhost | test    | Sleep   | 21619 |       | NULL             |
+-----+------+-----------+---------+---------+-------+-------+------------------+
2 rows in set (0.00 sec)

Um einen bestimmten Prozess zu beenden, nutzen Sie den Befehl “kill”:

mysql>kill 957

Alternativ können Sie einen Prozess auch direkt aus der Kommandozeile beenden:

mysqladmin kill 957

Beachten Sie bitte, dass Sie stets die exakte Prozess-ID wissen.

Die folgenden mySQL Befehle könnten Ihnen ebenfalls weiterhelfen:

mysql> show status;
mysql> show innodb status;
08. Dez 2008
Teaser

cakePhp: Debug Modus zur Laufzeit setzen

Um den Debugmode in cakePHP während der Laufzeit dynamisch zu ändern nutzen Sie folgenden Befehl:

Configure::write('debug', 0);

Die “0” ersetzen Sie durch den gewünschten Debug-Level.

06. Dez 2008
Teaser

Alte Java Versionen

Wenn Sie mal eine ältere / alte Java Version benötigen, dann hilft Ihnen dieses Java Archiv weiter:

http://java.sun.com/products/archive/

29. Nov 2008
Teaser

mySQL: Logs löschen / leeren

Unter mySQL löschen Sie die Logs (Log-Dateien) mithilfe des folgenden Befehls:

> reset master;

Die (binären) Logfiles liegen bei einer Standardinstallation im Pfad “/usr/local/var/” und enden auf “-bin.000001”, “-bin.000002” usw.

29. Nov 2008
Teaser

mySQL: Verbindungen trennen

Wenn Sie unter mySQL einen Benutzer bzw. seine Verbindung zur Datenbank trennen möchten, dann gehen Sie mit folgenden Befehlen vor:

Schritt 1:
Finden Sie die Connection-ID des Benutzers heraus:

> show processlist;
+-----+------+-----------+---------+---------+-------+-------+------------------+
| Id  | User | Host      | db      | Command | Time  | State | Info             |
+-----+------+-----------+---------+---------+-------+-------+------------------+
| 621 | prog | localhost | company | Sleep   | 21644 |       | NULL             |
| 822 | prog | localhost | company | Sleep   |   721 |       | NULL             |
| 912 | test | localhost | NULL    | Query   |     0 | NULL  | show processlist |
+-----+------+-----------+---------+---------+-------+-------+------------------+
3 rows in set (0.00 sec)

Schritt 2:
Trennen Sie die gewünschte Verbindung durch den Befehl

> kill 621;

Sie können diesen Befehl auch von der OS Kommandozeile ausführen:

mysqladmin kill 621

Fertig.

Die folgenden mySQL Befehle können Ihnen zusätzlich weiterhelfen:

> show status;
> show status\G;
> show innodb status;
27. Nov 2008
Teaser

Eclipse: Outline Anzeige ist leer

Wenn in Eclipse bei PHP Dateien die Outlineansicht nicht gefüllt wird, wurde das Projekt meist nicht als PHP Projekt angelegt.

Lösung:
Speichern Sie alle Dateien ab und schließen Sie ggf. offene Dateien in Eclipse. Laden Sie Ihr Projekt neu als “PHP Projekt” und in Outline werden die Funktionen, Klassen, Include Dateien und Konstanten angezeigt.