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
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
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
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
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
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
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?
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?
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.
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.
Ähnliche Themen
-
Ankündigungen und Neuigkeiten »-
VS.Php 2.6 ist da!
(25. Januar 2009, 18:00)
-
Ideen, Vorschläge, Kritik »-
IIS-Projekt vs. Zend Framework Projekt etc.
(2. Februar 2009, 11:27)
-
Ankündigungen und Neuigkeiten »-
Visual Studio Plugins die für euch interessant sein könnten
(28. Dezember 2008, 18:33)
-
Ankündigungen und Neuigkeiten »-
Jetzt VS.Php kaufen und kostenlos auf 2.6 updaten
(4. Dezember 2008, 18:16)