Antworten ohne Registrierung

Welche PHP-Umgebung für Win7 x64?




little_peanut
31.03.2010, 15:34 Uhr
Hallo ihr Lieben,

so wie's ausschaut, muss ich nächste Woche wohl ein Scriptchen für eine der Webseiten schreiben, die ich ehrenamtlich betreue. Am Ende soll per PHP ein RSS-Feed ausgelesen, in XHTML formatiert und dargestellt werden. Damit der Webserver der betreffenden Seite und der Webserver der Feed-generierenden Seite nicht durchbrennt und damit sich die Seitenladezeit im Zaum hält, muss das ganze noch gecached werden. Also bissl mehr zu tun.

Und weil ich das ganze nicht online per Try&Reload machen möchte, will ich gern mal wieder ne PHP-Umgebung lokal installieren. Früher hatte ich xampp. Ist das immer noch zu empfehlen? Oder gibt's gute Alternativen?

Soll möglichst performant und Ressourcen-schonend sein. MySQL und PHPMyAdmin wären super, wenn sie direkt an Board sind.

Ich habe aber nicht den Nerv alles von Hand zu installieren und einzurichten (Faulpelz, ich weiß. ).

Liebe Grüße
Jonny
#1




Gast
31.03.2010, 15:39 Uhr
für faule säcke bietet sich xampp immernoch an ^^ nutze ich auch
#2

eUncle
31.03.2010, 16:14 Uhr
dito - für kleine testzwecke ist xampp völlig ausreichend
du kannst dir natürlich auch ne kleine testecke (auf dem webserver) einrichten, damit du später keine php-inkompatibilitäten hast - beides geht
#3

Gast
31.03.2010, 16:32 Uhr
nur doof, wenn man mit der kleinen Testecke den gesamten Server lahmlegt
#4




little_peanut
31.03.2010, 16:54 Uhr
Und da es nicht meine Server sind, lass ich das lieber. Zumal die Server schon genug ausgelastet vom normalen Besucherbetrieb sind.
#5

eUncle
31.03.2010, 17:54 Uhr
Zitat:
Zitat von HeNrY
nur doof, wenn man mit der kleinen Testecke den gesamten Server lahmlegt
selber schuld :P
#6

Gast
31.03.2010, 19:51 Uhr
kann auch nur xampp empfehlen
#7

Gast
31.03.2010, 22:11 Uhr
Zitat:
Zitat von eUncle
selber schuld :P
ist mir noch nie passiert :P
#8

Gast
03.04.2010, 16:00 Uhr
Wenn du ehrenamtlich einen Server betreust, der unter der Besucherzahl leidet, ist entweder
a) der Server vollkommen zu klein angelegt
b) die Konfiguration vollkommen falsch
c) der eigentliche Betreiber ein Ausbeuter, der sich freut, das er für eigentlich kostenpflichtige Dinge nichts bezahlen muss.
#9

little_peanut
05.04.2010, 20:17 Uhr
Hä?

Mein Verein zahlt monatlich mehrere Hundert Euro in eine umfangreiche und gut betreute Server-Architektur. Und was ist daran jetzt wo nochmal Ausbeutung?
#10

Gast
06.04.2010, 12:46 Uhr
Abgesehen vom Problem, wo du es ausprobierst: vielleicht hilft dir

[Zur Link-Ansicht bitte registrieren.]

weiter, eine PHP-Class zum RSS-Lesen. Man muss das Rad ja nicht neu erfinden
#11

little_peanut
06.04.2010, 18:07 Uhr
Ja, hab ich auch schon gefunden und den ersten Feed damit auch einbinden können. Allerdings muss noch ein anderer Feed funktionieren, bei dem es ev:-Tags gibt. Die kann simplepie und leider keine andere fertige Lösung, die ich gefunden habe, verarbeiten. Also muss ich wohl selber entweder simplepie aufboren (anstrengend, weil es halt extrem umfangreich ist) oder doch noch ne eigene Lösung schreiben (nicht weniger anstrengend ^^).
#12

little_peanut
06.04.2010, 22:06 Uhr
So, ich habe das ganze doch mithilfe von Simplepie lösen können. Für alle, die jemals RSS-Feeds per Simplepie einbinden wollen, welche ev:location, ev:startdate und ev:enddate enthalten, also Event-Feeds sind, hier meine Lösung.

So sieht der RSS-Feed ungefähr aus:
PHP-Code:
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:ev="URL ZUM EV-KRAM FÜR UNTEN" xmlns:georss="http://www.georss.org/georss"
<
item
      <
title>Event</title
      <
link>Link zum Event</link
      <
ev:startdate>2010-04-06T22:29:00+02:00</ev:startdate
      <
ev:enddate>2010-04-06T22:29:00+02:00</ev:enddate
      <
ev:location>Blub-CenterStraße99089 ErfurtGermany</ev:location
      <
atom:summary
        <![
CDATA[Das ist ein Eventdas in ganz toller Atmosphäre mit kraßen Gästen stattfindet.]]> 
      </
atom:summary
    </
item


So fängt obligatorisch die Abfrage an:

PHP-Code:
<?php
require_once('pfad/zu/simplepie.inc');
 
$feed = new SimplePie();
$feed->set_feed_url('http://url-des-feeds/');
$feed->init();
$feed->handle_content_type();


Und nun geht der Spaß los. Als erstes das Start-Datum:

PHP-Code:
/*
Scan, Explode und Ausgabe vom Tag ev:startdate
*/
$startdate $item->get_item_tags('HIER STEHT DIE URL VOM EV-KRAM/''startdate'); //Scan
$startdate explode ('T'$startdate[0][data]); //den kryptischen Array auf das Datum beschränken
$startdate explode('-'$startdate[0]); //Tag, Monat, Jahr aus dem Array werden exploded
echo $startdate[2].".".$startdate[1].".".$startdate[0]; //Ausgabe von Tag, Monat, Jahr in deutscher Reihenfolge 


Das gleiche machen wir mit dem End-Datum. Zusätzlich überprüfen wir aber, ob das Enddatum überhaupt vorhanden ist. Eigentlich muss es der ev-Kovention immer da sein, aber dem trau ich nicht. Und wenn es ein eintägiges Event ist, dann ist gem. der ev-Konvention das End-Datum gleich dem Startdatum. Sollte das der Fall sein, wird das Enddatum gar nicht ausgegeben. Eine Ausgabe allá "06.04.2010 - 06.04.2010" hat einfach keinen Sinn.

PHP-Code:
/*
Scan, Explode und Ausgabe vom Tag ev:enddate, sofern vorhanden und nicht gleich dem Startdate
*/
$enddate $item->get_item_tags('HIER STEHT DIE URL VOM EV-KRAM/''enddate'); //Scan
if(isset($enddate)) //Wenn enddate vorhanden...
{
$enddate explode ('T'$enddate[0][data]); //den kryptischen Array auf das Datum beschränken
$enddate explode('-'$enddate[0]);//Tag, Monat, Jahr aus dem Array werden exploded
if($startdate != $enddate) echo " - ".$enddate[2].".".$enddate[1].".".$enddate[0];//Ausgabe von Tag, Monat, Jahr in deutscher Reihenfolge



Jetzt kümmern wir uns um den Ort. Wie oben zu sehen ist das Standart-Format "Name der Location, Straße Nr., PLZ Ort, Land". Für meine Zwecke will ich nur den Ort ausgeben lassen.

PHP-Code:
/*
Scan, Explode und Ausgabe vom Tag ev:location
*/
$location $item->get_item_tags('HIER STEHT DIE URL VOM EV-KRAM/''location');//Scan
if(isset($location))
{
$location explode(', ',$location[0][data]);//Explode von Name, Straße, Ort, Land in ein Array

if(preg_match('#[0-9]{5}(.+)[^0-9]#',$location[2])>0//Gibts ne PLZ im Array-Wert [2]?
    
{    
    echo 
",".substr($location[2],5); //Ausgabe des Stringwerts ohne PLZ
    
}
    else
    {
    echo 
",".$location[2]; // Ausgabe des Stringwerts da keine PLZ vorhanden
    
}
}
?> 


Die "URL VOM EV-KRAM" ist bei mir

[Zur Link-Ansicht bitte registrieren.]



Am Ende steht alles so da:
06.04.2010, Erfurt
oder
06.04.2010 - 08.04.2010, Erfurt
Je nachdem, welche Daten man vom Feed bekommt.
#13


Facebook

Jahresarchive