Artikel Kategorie 'PHP'



Fehlermeldung “due to zend.ze1_compatibility_mode”



Im Artikel Include Path setzen mit setincludepath für das Zend Framework hatte ich eben beschrieben, wie man das Zend Framework bei einem Webpack L bei Hosteurope zum laufen bekommt… leider hatte ich noch etwas übersehen:

Als ich versucht habe ein kleines Script zu starten, bekam ich folg. Fehlermeldung:

Fatal error: Cannot clone object of class DOMDocument due to zend.ze1_compatibility_mode in /is/htdocs/wpXXXXXXXXXXXXXX/Zend/Feed.php on line 195

Das kann ganz einfach behoben werden mit:

ini_set( "zend.ze1_compatibility_mode" , "0" );

Include Path setzen mit set_include_path für das Zend Framework



Da ich nur einen normalen Webspace Account bei Hosteurope habe, und keinen highly sophisticated Server angemietet habe, und etwas mit dem Zend Framework rumspielen wollte, stand ich recht schnell vor dem Problem, wie ich das denn nun zum laufen bekomme!?

Da ich ja quasi keine Rechte auf dem Server habe und so auch nichts in “/usr/share/pear/php5″ oder so reinpacken kann :( habe ich das Zend Framework (Ordner Zend) einfach in einen Ordner gepackt und mittels set_include_path verfügbar gemacht.

Guckst Du hier:

// hier liegt das Zend Framework
$s_include_path = $_SERVER['DOCUMENT_ROOT'] . "hier/liegt/mein/Zend/";

// Include Pfad setzen, bzw. um neuen Include Pfad erweitern
set_include_path($s_include_path . PATH_SEPARATOR . get_include_path());

mod_rewrite unter XAMPP aktivieren



Um mod_rewrite unter XAMPP zu aktivieren bedarf es nur weniger Änderungen:

Zuerst muss das entsprechende Apache Modul aktiviert werden. Dazu einfach das Raute Symbol vor folg. Zeile in der httpd.conf entfernen:

# LoadModule rewrite_module modules/mod_rewrite.so

ändern in

LoadModule rewrite_module modules/mod_rewrite.so

Im nächsten Schritt dann AllowOverride in der httpd.conf freigeben und Symlinks aktivieren:

#< Directory/ >
#    Options FollowSymLinks
#    AllowOverride None
#    Order deny,allow
#    Deny from all
#< /Directory >

ändern in:

< Directory/ >
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
< /Directory >

Dann noch einmal XAMPP neu starten und fertig!

SimpleXML und CDATA



Mit der SimpleXML-Extension stellt PHP5 ein besonders einfaches und leicht zu handhabendes Toolset zur Verfügung, um XML in ein Objekt zu konvertieren. Dieses Objekt kann mit normalen Eigenschafts-Selektoren und Array-Iteratoren bearbeitet werden.

Allerdings trat bei einer XML Datei ein Problem auf:

$s_xml = 'datei.xml';
$o_xml = simplexml_load_file($s_xml); 

In der XML Datei waren Daten in einem CDATA-Abschnitt vorhanden. Die Daten werden dann von SimpleXML einfach mal so ignoriert :(

Lösung:

$s_xml = 'datei.xml';
$o_xml = simplexml_load_file($s_xml, NULL, LIBXML_NOCDATA); 

Mit LIBXML_NOCDATA (Merge CDATA as text nodes) werden die Daten dann ganz normal verarbeitet.

überprüfen, ob eine SESSION gestartet ist



möchte man überprüfen, ob eine SESSION bereits gestartet worden ist, kann dies folgendermaßen überprüft werden:

if( TRUE === defined('SID') )

SID wird erst gesetzt, wenn eine SESSION gestartet worden ist.

1000 Redakteure gesucht



neulich auf entwickler.de entdeckt:

Wir suchen 1000 Redakteure!

… und Sie sind vielleicht einer davon

Wir suchen Leute, die für uns schreiben wollen und Ihre News, Tipps, Kolumnen und Artikel einsenden. Ideen? Immer her damit! Ihre Beiträge sind gefragt. Mitmachen lohnt sich!

Unter allen veröffentlichten Einsendungen verlosen wir Woche für Woche einen iPod Shuffle. Also: Gleich loslegen und alles posten, was Sie auch selbst gerne lesen möchten!

hm…, leider reichts bei mir nur für son blödes Blog ;-) - aber wäre schon irgendwie cool, mal nen richtigen Artikel zu veröffentlichen…

mehr Infos hier: http://entwickler.de/zonen/portale/psecom,id,104,serviceid,36,nodeid,.html