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.
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.

27. Nov 2008
Teaser

cakePHP: Debug Modus

Der cakePHP Debug Mode (Modus/Modi) kann in der app/config/core.php Datei eingestellt werden.

Es stehen folgende Optionen zur Auswahl:

define('DEBUG', 0);

Keine Anzeigen (Informationen, Fehler, Warnungen). Flash-Meldungen werden umgeleitet.
Dieser Modus ist für den Produktionsbetrieb (Live-Modus) empfohlen.

define('DEBUG', 1);

Es werden Fehler und Warnungen angezeigt. Der Modelcache wird aktualisiert und Flash-Meldungen angezeigt.

define('DEBUG', 2);

Wie Modus 1. Zusätzlich werden vollständige Debug-Meldungen und SQL Befehle ausgegeben.

define('DEBUG', 3);

Wie Modus 2. Zusätzlich wird ein vollständiger Controller Dump angezeigt.

27. Nov 2008
Teaser

cakePHP: installieren

Wenn Sie mit cakePHP Anwendungen entwickeln möchten, sollten Sie sich eine lokale Installation als Entwicklungsumgebung einrichten.
In diesem Beispiel richten wir eine cakePHP Installtion unter Windows ein.

Für dieses Beispiel wird ein funktionierender WebServer (z.Bsp. Apache) und eine Datenbank (z.Bsp. mySQL) benötigt.

Schritt 1:
Laden Sie sich die aktuelle Version von cakePHP aus dem Internet herunter. Optimalerweise nutzen Sie den direkten Download vom Hersteller: http://cakephp.org/downloads. Mit einer freiwilligen Spende helfen Sie den Entwicklern, Ihr kostenloses Produkt weiter zu entwickeln. Dieses Beispiel bezieht sich auf die derzeit aktuelle Version 1.2.0.7692 RC3.

Schritt 2:
Entpacken Sie das heruntergeladene Archiv (z.Bsp. “cake_1.2.0.7692-rc3.zip”) in ein Verzeichnis.

Schritt 3:
Binden Sie das verzeichnis in Ihren WebServer direkt oder als virtuellen Host ein. Nutzen Sie dafür die Konfiguration Ihres WebServers. Ein Beispiel für die Einbindung des Verzeichnisses als virtuellen Server unter Apache finden Sie [HIER].

Schritt 4:
Stoppen und Starten Sie Ihren WebServer neu. Häufig werden dadurch erst die geänderten Einstellungen geladen und genutzt.

Schritt 5:
Starten Sie Ihren bevorzugten Browser (z.Bsp. Mozilla Firefox oder IE) und rufen Sie die entsprechende URL auf. Haben Sie z.Bsp. einen virtuellen Server mit dem Namen “cakephp” angelegt, dann geben Sie die folgende URL ein: http://cakephp/

Schritt 6:
Folgen Sie den angezeigten (letzten) Schritten der cakePHP Konfiguration.

Schritt 6a:
Ändern Sie den ‘Security.salt’ Schlüssel in der Datei “app/config/core.php” ab. Dieser wird an unterschiedlichen Stellen in cakaPHP genutzt um eindeutige (und dadurch sichere) Hashes zu erzeugen.

Schritt 6b:
Benennen Sie die Datei “database.php.default” (im Verzeichnis “app/config”) um in “database.php”. In dieser Konfigurationsdatei finden Sie unter “var $default” die Einstellungen für die Standard-Datenbankverbindung. Bitte passen Sie die entsprechenden Werte an Ihre genutzte Datenbank an.

Fertig.

27. Nov 2008
Teaser

Apache: Virtuellen Host anlegen

Im WebServer Apache (auch unter XAMPP) können Sie bequem virtuelle Hosts / virtuelle Server anlegen.

Öffnen Sie dafür die “httpd.conf” (bei Apache2 ggf. auch die “extra/httpd-vhosts.conf”) und fügen Sie folgenden Text hinzu:

NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
<Directory C:/www/cake/app/webroot>
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
ServerName cakephp
DocumentRoot C:/www/cake/app/webroot
Options +FollowSymLinks -Indexes
ErrorLog C:/www/logs/text_error_log.txt
CustomLog C:/www/logs/text_access_log.txt common
</VirtualHost>

Im Beispiel wird eine cakePHP Installation unter einem virtuellen Server eingerichtet.

Die Angaben zu “ErrorLog” und “CustomLog” sind optional und können entweder entfernt oder durch ein # am Zeilenanfang deaktiviert werden.

Wenn Sie den virtuellen Server mit Namen ansprechen möchten, dann geben Sie diesen anstelle unseres “cakephp” ein. Bitte beachten Sie, dass Sie diesen Namen auch unbedingt in der “hosts” Datei eintragen müssen. Sie finden die Datei unter “C:\Windows\system32\drivers\etc\”. Für unser Beispiel müssen Sie dort die folgende Zeile hinzufügen:

127.0.0.1 cakephp

Einträge in dieser Datei werden (meist) ohne Neustart des Computers übernommen.

Zu beachten ist, dass der Pfad zum Webverzeichnis (im Beispiel “C:/www/cake/app/webroot”) zweimal angegeben wird. Wenn Sie also ein anderes Verzeichnis nutzen, dann passen Sie bitte beiden Angaben identisch an.

22. Nov 2008
Teaser

MySQL: Root Passwort ändern

Wenn Sie auf Ihrem MySQL Datenbankserver Ihr Zugangspasswort als Hauptbenutzer (= “root”) ändern möchten, nutzen Sie den folgenden Befehl:

mysqladmin --user=root --password=AltesPasswort password NeuesPasswort

Alternativ können Sie diesen SQL Befehl nutzen:

UPDATE user SET Password=PASSWORD('mein_pwd') WHERE user='root';

Dabei vergessen Sie bitte nicht, anschließend durch

flush privileges;

Ihre Änderungen umzusetzen.

Bitte beachten Sie auch unsere Alternativen für das Zurücksetzen des mySQL root Passwortes:

24. Okt 2008
Teaser

Typo3: Dateigröße automatisch im Link anzeigen lassen

Um auf einer mit dem CMS Typo3 betriebenen Webseite automatisch die Größe einer verlinkten Datei anzeigen zu lassen, nutzen Sie folgende Anpassungen:

Im TypoScript

Fügen Sie dem entsprechenden Typoscript folgende Zeilen hinzu:

page.includeLibs.user_classes = typo3conf/ext/anpassungen_t3/user_classes.php

lib.parseFunc_RTE {
  tags {
    link {
      innerWrap.cObject = COA
      innerWrap.cObject {
        10 = TEXT
        10.value = |
        20 = USER_INT
        20.userFunc = user_classes->fileSize
        20.wrap = (|)
        20.tilo.cObject = TEXT
        20.tilo.cObject {
          data = parameters : allParams
          split {
            token.char = 32
            cObjNum = 1 |*| 2 |*| 2
            1 {
              current = 1
            }
          }
        }
        if.value = t3x,t3d,pdf,zip,rar,doc,wmv
        if.isInList.cObject < .20.tilo.cObject
        if.isInList.cObject {
          split {
            1 {
              crop = -3
              case = lower
            }
          }
        }
      }
    }
  }
}

Im hervorgehobenen Bereich können Sie die Dateiendungen angeben, auf die das Script reagieren soll.

Natürlich benötigen Sie noch die entsprechende PHP Klasse, welche im oberen Script referenziert wurde.
Speichern Sie die folgenden Zeilen unter "typo3conf/ext/anpassungen_t3/user_classes.php" ab:

cObj->TEXT($conf['tilo.']);
    if (file_exists($file)) {
      $fileSize = filesize($file);
      if ($fileSize) {
        $fileSize = t3lib_div::formatSize($fileSize, ' Byte| kB| MB| GB');
        $fileSize = $conf['wrap'] ? $this->cObj->wrap($fileSize, $conf['wrap']) : $fileSize;
      }
    }
    return $fileSize;
  }
}
?>