Dienstag, 29. August 2006

PHP

Konfiguration von PHP Anwendungen

Einen interessanten Artikel hat Ralf auf IBM developerWorks gefunden. Der Artikel zu der Konfiguration unter PHP ist recht interessant, doch sind Ralf noch ein paar Sachen hierzu aufgefallen.

Ich habe den Artikel im developerWorks nur kurz überflogen, aber habe ich hierzu noch eine bessere Lösung. Dies werde ich euch in einem extra Artikel präsentieren.

Zu Ralfs fünf Punkten in seinem Artikel hätte ich ein paar Anmerkungen:

Zu Punkt 2
In dem verwendeten Datenbankschema gibt es einen Primärschlüssel ‘id’. Diesen würde ich weglassen und stattdessen die Spalte ‘name’ als Primärschlüssel definieren. Das macht das Arbeiten mit einer Settingstabelle in einer Datenbank noch einfacher.

Es könnte daran liegen, das der Entwickler mehrere Konfigurationen in der Datenbank, zu einem Konfigurations-Schlüssel haben möchte. Zum anderen lässt sich das später gut mit diversen anderen Tabellen verknüpfen. Ausserdem, falls man einen Index darauf setzen würde und damit arbeitet, wäre dieser schneller.

Zu Punkt 3
Bei der Option, die Konfiguration in der php.ini vorzuhalten, fehlt meiner Meinung nach der Hinweis, dass man auch lokale php.ini Dateien verwenden kann. Damit umgeht man das Problem, sitespezifische Konfigurationseinstellungen global verwalten zu müssen.

Das stimmt, wirklich eigene php.ini Dateien gehen aber nur mit PHP als CGI. Wenn PHP als Modul eingebunden ist, geht das nicht.

Zu Punkt 4
Zudem fehlt noch eine weitere Option. Und zwar kann man auch eine eigene .ini Datei verwenden, die nicht php.ini heißt, z.B. settings.ini, und kann diese in einem beliebigen Verzeichnis außerhalb des Document_Root ablegen, so dass niemand anderes darauf Zugriff hat. Über parse_ini_file() lässt sich diese leicht einlesen.

Es gibt auch eine andere Möglichkeit, da man nicht immer aus seinem htdocs bzw. Homeverzeichnis raus kann. So gibt es manche Hoster, die diese Möglichkeit nicht bieten. Aber ein kleiner Trick schafft Abhilfe:

Gebe einfach der Konfigurationsdatei die Dateiendung php. Dann schreibe in die erste Zeile:

Download Code!

  1.  
  2. ;<?php die('Böser Bube!'); ?>
  3.  
Das Semikolon wird vom INI-Parser ignoriert, aber der PHP-Interpreter springt darauf an. Das bedeutet man könnte auch die Konfigurationsdatei innerhalb des Webverzeichnisses aufbewahren. Solange natürlich der Webserver auch PHP verarbeitet.

Bewertung: keine, 0 Stimme(n) 259 Klicks
PHP
Von Mr.Foo in PHP am 29.08.06@12:06 Uhr

Trackbacks
Trackback für spezifische URI dieses Eintrags

Wie man PHP-Anwendungen konfigurieren kann
Habe heute morgen einen neuen interessanten Artikel in der Rubrik IBM developerWorks gefunden. Es zeigt verschiedene M&#246;glichkeiten, wie man seine PHP-Anwendung konfigurieren kann. Dabei geht der Autor auf folgende M&#246;glichkeiten ein. Konfigur...
Weblog: Ralf bloggt
Aufgenommen: Aug 29, 22:22

1 Kommentare
Ansicht der Kommentare: (Linear | Verschachtelt)

Ralf - #1 - 29.08.2006 22:25 - (Antwort)

Hallo Sebastian,

eine Antwort auf deine Anmerkungen ist recht einfach. Unter den Voraussetzungen kann ich dir in allen Punkten nur zustimmen.

Obwohl ich würde bei Punkt 2 vielleicht doch zu einer Tabelle greifen würde, die neben dem Namen der Konfiguration auch einen Bereich speichert. Also ähnlich wie bei Zend_Config.

Gruß,

Ralf


Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Sie können [geshi lang=LANG][/lang] Tags verwenden um Quellcode abhängig von der gewählten Programmiersprache einzubinden
 
 

Mr. Foo

Konfiguration von PHP Anwendungen

  • Homepage

Suche

Kategorien

  • Android (2)
  • C-Sharp (4)
  • Datenbank (30)
  • Delphi (2)
  • Entwicklung (36)
  • Flash (5)
  • Games (10)
  • Gutscheine (4)
  • Hardware (14)
  • HTML CSS (16)
  • Internet (88)
  • Java (32)
  • Javascript (24)
  • Linkdump (9)
  • Linux (102)
  • Low-Level (10)
  • Lua (8)
  • Musik (9)
  • Netzwerk (25)
  • New World Order (109)
  • Perl (3)
  • PHP (130)
  • Magento (5)
  • Symfony (3)
  • Zend Framework (7)
  • Probleme und Lösungen (26)
  • Python (22)
  • Ressourcen (23)
  • Sicherheit (91)
  • Software (60)
  • Sonstiges (47)
  • Own Stuff (48)
  • Spass (46)
  • Technik / Wissenschaft (4)
  • Tips (15)
  • Weisheiten (17)
  • Windows (23)
  • Wort des Tages (15)


Alle Kategorien

Archive

  • Mai 2012
  • April 2012
  • März 2012
  • Das Neueste ...
  • Älteres ...

Abonnieren lohnt sich!

  • XML RSS 2.0 feed
  • ATOM/XML ATOM 1.0 feed
  • XML RSS 2.0 Kommentare

Tagcloud

Datenbank Entwicklung Internet Java Javascript Linux Lösung Netzwerk News New World Order PHP Problem Probleme und Lösungen Sicherheit Software Sonstiges Spass Tipp Update Windows

Beliebte Einträge

  • Magento ist scheisse (197)
  • Plugin-container.exe deaktivieren (107)
  • BWin Betrug und Abzocke bei Minigames? (65)
  • C compiler cannot create executables unter Debian (53)
  • Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert) (43)
  • Sicheres Kontaktformular mit PHP - Spam verhindern (37)
  • UML-Diagramme aus Java-Klassen generieren – Java2UML (28)
  • Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden (28)
  • Option Bug im Internet Explorer bei Nutzung von innerHTML und Javascript (24)
  • Zend Studio - Javaw.exe lastet die CPU aus (24)

Kommentare

Hugo zu BWin Betrug und Abzocke bei Minigames?
So, 20.05.2012 12:25
ich habe mich gestern auf BWIN reg [...]
Ubuntu 12.04 zu The assembly mscorlib.dll was not found or could not be loaded.
Fr, 18.05.2012 17:11
Hat bei mir leider nicht geklappt. [...]
Oliver Riske zu Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden
Di, 15.05.2012 20:38
Super Danke!
anon zu BWin Betrug und Abzocke bei Minigames?
Sa, 05.05.2012 18:43
ihr scheiss betrüger
Jürgen zu Unable to elevate error:1814 VLC Problem
Mi, 02.05.2012 16:54
So einfach ist es bei mir jedenfal [...]
 

Kontakt/Informationen