2009-08-01 10 views
2

Ich habe eine einfache ZF, die bereits gut funktioniert. Ich habe es eingerichtet, um in einem Unterordner zu arbeiten, so dass ich mit localhost/zftutorial URL zugreifen.Zend Framework in Eclipse debuggen, mod_rewrite Probleme

Jetzt ist die Zeit gekommen für das Debuggen, aber wenn ich Debugger in Eclipse ausführen, es anhängt Debug URL params (wie XDEBUG_SESSION_START = ECLIPSE_DBGP), die alles brechen und ich beginne diese Nachricht bekommen:

>Zend_Controller_Dispatcher_Exception: Ungültige Controller angegeben (index.php) in C: \ Programme \ VertrigoServ \ www \ library \ Zend \ library \ Zend \ Controllers \ Dispatcher \ Standard.php on line 241

ich habe versucht, sowohl localhost gesetzt/zftutorial und localhost/zftutorial/public/index.php als Start-URLs für den Debugger, aber immer noch g die gleiche Nachricht einlesen.

Sieht so aus, als ob ZF saubere URL-Namen mag, aber Eclipse möchte Skripte mit PHP-Erweiterungen, aber Controller-Namen. Unabhängig davon, welche Debug-Optionen, die ich verwende, versucht Ecplise zu starten Debuggen von nicht Zend-Stil URL - http://localhost/zftutorial/index.php

ich das erraten 2 Arten gelöst werden:

  • Eclipse-Konfiguration irgendwie eine richtige URL zu verwenden, um mit Debug params, wie localhost/zftutorial
  • Einstellung Rewrite-Regel für localhost/zftutorial/public/index.php neu geschrieben werden als localhost/zftutorial (rechts?)

Antwort

1

Ich bin zu dem Schluss gekommen, dass solche Probleme am besten vermeidbar sind, wenn man den öffentlichen Ordner ZF-Anwendung als Root-Ordner im Webserver einrichtet. Eine solche root-Platzierung ist eine empfohlene Vorgehensweise und verursacht keine Debug-Probleme wie oben, im Gegensatz dazu, wenn sich die ZF-App in einem Unterordner befindet und mod_rewrite-Regeln ab und zu Dinge kaputt machen.