• Registrieren
  • Anmelden
  • Dokumentation
  • Hilfe

1

Donnerstag, 12. Februar 2009, 11:37

Umstellung eines Projektes von Zend Studio mit IIS auf VS.php

Hallo!

Ich habe mehrere Projekte, die mit Zend Studio für IIS entwickelt wurden und habe nun VS.php für Visual Studio 2008 gekauft.
Ein Projekt, was etwas umfangreicher ist, möchte ich nun exemplarisch auf VS.php umstellen.
Dabei ist folgendes gegeben:
· Es liegen einge per require_once (bzw. __autoload) eingebundene PHP-Dateien außerhalb des Web-Roots
· Es wird das Zend Framework in Version 1.7.3 verwendet, was ich bisher – ähnlich wie man es unter Linux gerne macht – per mklink in ein include-Verzeichnis eingebunden habe.
· Es wird das Dojo-Toolkit verwendet, aber wie aus Optimierungsgründen üblich, eine Version, die aus einem Dojo-Build mit eigenem Profile erstellt wurde. Also abseits der Version, die mit dem Zend Framework geliefert wird.
· Das Projekt wird bereits mit Subversion verwaltet. Zend Framework und Dojo habe ich dort in einem abseits liegenden vendor-Branch, um unterschiedliche Versionen vorhalten zu können (muss ich sowieso manuell pflegen, daher auch die oben erwähnte mklink-Einbindung des Zend Framework). Die Subversion-Einbindung in Zend Studio mit der aktuellen Subversion-Version funktioniert übrigens nicht, denn Zend hat seit längerer Zeit dafür kein Update zur Verfügung gestellt. Dies aber nur am Rande.
· Es wird ein zugekauftes CSS/Javascript-Menüsystem verwendet, dessen Lizenzkontrolle es notwendig macht, dass ich auch beim Debuggen nicht localhost sondern einen bestimmten Host-Header verwende.

Wie gehe ich nun am geschicktesten vor, um mit möglichst wenigen Schwierigkeiten das ganze auf VS.php umzustellen, wobei zwar der lokale IIS verwendet werden soll, jedoch eben unbedingt ein bestimmter Host-Header benötigt wird (klar, den notwendigen Eintrag in der Datei hosts gibt’s schon). Das Projekt wurde bisher also schon mit Zend Studio und dem lokalen IIS 7 erstellt und debugged, wobei Zend Framework und ISAPI_rewrite sowie das Dojo Toolkit verwendet wurde.

Übrigens müsste URL-Rewriting ja nun auch mit dem IIS 7 direkt möglich sein, ohne externe Sachen wie ISAPI_rewrite (Stichwort MVC). Allerdings habe ich mich selbst diesbzgl. noch nicht schlau gemacht, da mein Kunde ohnehin noch den IIS 6 unter Win 2003 Server einsetzt.

MfG, Schlimmer

Thomas Schaaf

Administrator

Geschlecht: Männlich

Wohnort: Braunschweig

2

Donnerstag, 12. Februar 2009, 17:50

Hallo!

ich gucke mir das alles ganz genau am Wochenende an und stelle mein eigenes Apache Projekt auf IIS um. Ich kann allerdings noch nichts versprechen, da ich noch nie mit ISAPI_rewrite gearbeitet habe.

Thomas Schaaf

Thomas Schaaf

Administrator

Geschlecht: Männlich

Wohnort: Braunschweig

3

Sonntag, 15. Februar 2009, 14:09

Nachdem ich gerade ihren Beitrag erneut gelesen habe sehe ich, dass Sie den IIS schon eingestellt haben verstehe ich das richtig? Sie könnten daher den IIS als externen Debugger einstellen.

Neues Projekt aus vorhandenem Code erstellen (das muss natürlich im C:\inetpub Ordner sein, wie beim Zend Studio auch) dann in die Projekteinstellungen gehen Debug-> Debugmodus extern-> neue Starturl angeben z.B. localhost/projekt -> Debug erweitert öffnen und Debuggerport ändern, falls er nicht auf 7870 gestellt ist. Der Debugger muss im PHP welches vom IIS per CGI aufgerufen wird aktiviert werden.

Ich möchte noch einmal darauf hinweisen, dass das IIS Projekt noch nicht über die Möglichkeit verfügt out of the box mit vorhanden Dateien zu funktionieren. Wir arbeiten momentan an der entsprechenden Funktion. Bitte haben Sie daher noch etwas Geduld. Momentan gelingt es mir noch nicht ein Zend Framework Projekt ohne Verwendung von ISAPI zu erstellen. Ich hoffe dass ich dieses Problem gelöst bekomme.

Thomas Schaaf

4

Sonntag, 15. Februar 2009, 18:54

Den IIS als externen Debugger einstellen funktionierte natürlich. Musste für XDebug dazu allerdings die PHP-Installation von FastCGI auf die ISAPI-Variante umstellen, was für mich auch OK ist. Ich glaube zur thread-safe-Variante von PHP gibt's bei XDebug auch keine Alternative, oder?
Jedenfalls konnte ich sonst alles beim alten belassen. Oder anders gesagt: Bisher bin ich über kein weiteres Problem gestolpert.

Apropos Zend Framework: In der Dokumentation dazu gibt es mittlerweile einen Abschnitt, der auch das URL-Rewriting per web.config für IIS 7 beschreibt:
http://framework.zend.com/manual/en/zend…ler.router.html

Thomas Schaaf

Administrator

Geschlecht: Männlich

Wohnort: Braunschweig

5

Sonntag, 15. Februar 2009, 19:25

Danke! Mit den Informationen sollte das alles deutlich schneller gehen. Video folgt.

Vielen Dank!

Thomas Schaaf

6

Dienstag, 26. Mai 2009, 18:57

Benutze nun doch FastCGI

Bin mittlerweile doch wieder auf die FastCGI-Variante gewechselt (funktioniert nun doch, fragt mich nicht wieso...), denn mit ISAPI und der thread-safe-Variante von XDebug gab es hin und wieder, eher selten, Abbrüche aufgrund von Zugriffsfehlern (access violation).

Eine Sache nervt mich allerdings: Die Skripte haben nun eine wesentlich längere Laufzeit auf meinem Entwicklungsrechner als zuvor, wo Zend Studio mit der ZendDebugger.dll zum Einsatz kam.

Irgendwann hatte ich probehalber auch mal das Aptana Studio installiert, wo man als Debugger auch den Zend Debugger auswählen konnte. Und er ist auch kostenfrei herunterladbar. Daher diese Frage: Ihr könntet nicht vielleicht in Erwägung ziehen, auch den Zend Debugger zu unterstützen?

Thomas Schaaf

Administrator

Geschlecht: Männlich

Wohnort: Braunschweig

7

Dienstag, 26. Mai 2009, 19:40

Hallo,

Schön, dass es nun doch funktioniert.

Die Laufzeit wird sicherlich durch das XDebug verlangsamt. In der Version 2.7 kommt allerdings voller IIS Support, wenn Sie unter Windows Vista oder Windows 7 arbeiten, können Sie dann den IIS als Webserver verwenden, in unseren Tests waren dort die Laufzeiten besser.

Zum Thema Zend Debugger kann ich noch nichts konkretes sagen, aber eventuell kommt es in der Version 2.8?

Grüße
Thomas S.