phpbar.de logo

Mailinglisten-Archive

[php] HTML-Mails kommen im Klartext an und sind "vermurkst"

[php] HTML-Mails kommen im Klartext an und sind "vermurkst"

Martin Spuetz martin at spuetz.net
Mit Jan 16 09:22:08 CET 2008


Sebastian Mendel wrote:
>> Mal ganz davon abgesehen, dass die include_once bzw. require_once
>> sowieso ziemlich lahm sind. IMO liegt das daran, dass für jede Datei ein
>> fseek gemacht wird, dabei ist es egal, ob die bereits geladen wurde.
>> Deswegen gibt es bei APC auch die Option, die Funktionen überschreiben
>> zu lassen.
>>
>> Ansonsten ist es eigentlich immer gut absolute Pfade zu verwenden:
>> z.B. include_once MY_APP_ROOT_DIR . '/Attachment.class.php'
>>
>> Trifft natürlich nur bei Opcode-Caches zu.
> 
> IMHO ist das ein sehr altes Problem was schon lange behoben wurde, zumindest 
> bei APC

Unter http://de.php.net/apc

apc.stat  integer
[snip]
For included/required files this option applies as well, but note that
if you are using relative path includes (any path that doesn't start
with / on Unix) APC has to check in order to uniquely identify the file.
If you use absolute path includes APC can skip the stat and use that
absolute path as the unique identifier for the file.

Wenn man diese Option jetzt aktiviert, erscheint bei Dateien die mit
keinem absoluten Pfad aufgerufen werden:

realpath failed to canonicalize SException.class.php - bailing

bei dem Code im __autoload:
    if (isset($mapping[$classname])) {
        include_once $mapping[$classname];
    }

ändere ich das aber wie ursprünglich kommt keine Warnung mehr:
    if (isset($mapping[$classname])) {
        include_once SC_INCLUDES_DIR . "/" . $mapping[$classname];
    }

Aber ich gebe zu, diese Konfiguration ist wahrscheinlich ziemlich selten.

Trotzdem denke ich, dass wenn man den Pfad in einer Konstanten hat,
diesen auch bei includes verwenden sollte, zumindest an globalen Stellen
wie dem __autoload.

Gruß,
Martin

php::bar PHP Wiki   -   Listenarchive