Sonntag, 4. April 2010
Ich habe gerade versucht unter PHP 5.3 mal schnell xDebug zu installieren. Am einfachsten natürlich per PECL. Allerdings kam hier folgende Meldung bei PHP:
Failed loading /Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/
no-debug-non-zts-20090626/xdebug.so:Â dlopen(/Applications/XAMPP/xamppfiles/
lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so, 9):
no suitable image found. Did find:
/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/
no-debug-non-zts-20090626/xdebug.so: mach-o, but wrong architecture
Um xDebug unter OS X 10.6 zu Laufen zu bekommen, muss man folgende Schritte durchführen:
- Sourcen herunterladen und enpacken (http://xdebug.org)
- In das entpackte Verzeichnis wechseln und folgenden configure-Befehl ausführen:
./configure MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS="-arch i386 -g -Os -pipe \\
-no-cpp-precomp" CCFLAGS="-arch i386 -g -Os -pipe" CXXFLAGS="-arch i386 -g \\
-Os -pipe" LDFLAGS="-arch i386 -bind_at_load"
- Dann noch ein make machen.
- Anschließend ddie .so-Datei unter modules an den gewünschten Platz kopieren.
- xDebug in der php.ini als zend_extension eintragen.
via Some notes on Zend Server CE for Mac OS X – Rob Allen’s DevNotes.
Sonntag, 25. Oktober 2009
Donnerstag, 8. Oktober 2009
Gestern hatte ich bei mir lokal ein merkwürdiges Verhalten. Ich hatte eine Extension um eine Textarea erweitert. Das Ganze mit Hilfe von Flexform. Normalerweise (dachte ich) kann man da einfach HTML Code reinpacken und alles ist gut.
Nach dem Speichern sah ein <br /> allerdings so aus: br /. Die Tag-Zeichen waren weg.
Anschließend mal mit dem RTE probiert. Selbes Problem. Erst dachte ich… Scheiß Typo… bestimmt irgendein komisches Sicherheitsgedöhns. Mit TS rumgedoktort. Nix. Gar nix hat sich geändert.
Dann gegen Ende des Abends bin ich über folgenden Beitrag gestolpert:
TemplaVoila + RTE: <> werden bei br und b etc entfernt – TYPO3 Forum & Portal.
Da stand dann was von PP Version sei Schuld dran. Ein Beitragender meinte allerdings es läge an der libxml2-Version.
Scheint so zu sein, da auf dem Live-Server alles funktioniert. Lokal hab ich nen XAMPP mit PHP5.2.9.
Samstag, 14. Februar 2009
Gestern haben wir einen Test mit der Zend_Amf Komponente gemacht. Es ist total einfach, wenn man ein paar Sachen beachtet:
- Return-Werte dürfen immer nur Arrays sein und
- es darf z.B. kein Controller bzw. keine Klasse, die von einem Controller erbt, genommen werden.
Dann ist es wirklich ziemlich einfach.
Mittwoch, 15. Oktober 2008
In PHP ruft man normalerweise die übermittelten Daten via $_POST, $_GET oder $_REQUEST ab. Dies sind sogenannte Superglobale und kommen als Array daher.
Muss man nun allerdings Daten in Empfang nehmen, die nur über den Header erreichbar sind, z.B. die Daten werden direkt in die Request-Felder eingebettet. Normalerweise sieht ein Wert ja folgendermaßen aus: mykey=myvalue. Dieses wird dann auf $_POST['mykey'] abgebildet. Der Wert ist darin gespeichert. Soll nun, in dem Beispiel myvalue aus unerfindlichen Gründen direkt eingebunden werden, was nicht HTTP-konform ist, hat man ein Problem. Selbiges Problem hat man, wenn eigene Headerdaten gesetzt werden, allerdings ist die Lösung die gleiche.
Es gibt in PHP eine Fülle an Streams. Mithilfe des Inputstreams kann man den Datenverkehr roh (raw) abgreifen. Damit kann man dann die “versteckten” Daten wieder erlangen. Folgender Codeausschnitt soll dies veranschaulichen:
<?php
$fh = fopen('php://input', 'r');
if (!$fh) {
echo "Error";
}
$xml = '';
while (!feof($fh)) {
$data .= fgets($fh);
}
fclose($fh);
echo $data;
?>
Edit: Wie dolce unten anmerkt, gehts unter PHP5 so viel einfacher. Aber warum einfach, wenns auch kompliziert geht