2012-07-06 6 views
7

haben Ich entwickle derzeit eine PHP-Web-Anwendung, die Yii-Framework verwendet.Wie kann ich yi geschützten Ordner außerhalb Htdocs mit Netbeans

Da ich den direkten Zugriff vom Webbrowser auf einige von Yii benötigte Dateien verhindern möchte, habe ich sowohl Framework als auch geschützte Ordner außerhalb des htdocs-Ordners verschoben.

Als Ergebnis endete ich mit dem folgenden Ordner Setup-up:

/apache22/htdocs

/apache22/htdocs/myproject/index.php - Yü Bootstrap-Datei
/apache22/htdocs/myproject/css
/apache22/htdocs/myproject/js
/apache22/htdocs/myproject/images

/apache22/vendor/yii-1.1.10 - Yii-Framework Ordner außerhalb Dokumente root

/apache22/htdocs-private/myproject/geschützt
/apache22/htdocs-private/myproject/runtime

Wie Sie sehen können, sind nur die Bootstrap-Datei und einige andere erforderliche css, js und Bilddateien verfügbar, auf die direkt vom Webbrowser zugegriffen werden kann. Alle anderen Dateien, wie das Yii-Core-Framework und bestimmte private Anwendungsdateien, die von Yii innerhalb von geschützten und Runtime-Ordnern generiert werden, befinden sich außerhalb des Webstamms meiner Anwendung.

Während dieses Setup fein und sicher ist, wie von Yii Framework empfohlen, wenn ich alle von ihnen in Netbeans zusammensetze, kann ich diese Trennung nicht haben. Es scheint, dass Netbeans mir nicht erlaubt, Dateien in demselben Projekt in verschiedenen Ordnerebenen auf meinem Webserver zu haben.

Ich frage mich, ob die einzige Lösung wäre, separate Netbeans-Projekte zu erstellen: Eine für den öffentlichen Website-Teil und die andere für den privaten Website-Teil.

Irgendwelche Vorschläge?

Mit freundlichen Grüßen.

+0

Was ist mit (lokalen) Symlinks? – adamors

+0

Werfen Sie auch einen Blick auf die Antwort hier: http://StackOverflow.com/q/6263902/545925. – adamors

+0

@ Örs Vielen Dank für Ihre Antworten. Nun, ich habe vergessen zu erwähnen, dass ich derzeit Windows 7-Plattform verwende. Ich habe auch den vorgeschlagenen Link überprüft, aber mein Problem ist, dass ich auch alle Dateien in NetBeans bearbeiten kann, da sie nicht unbedingt eine externe Bibliothek sind. Tatsächlich sind alle Dateien Teil des Projekts. – edilima

Antwort

2

Obwohl es möglicherweise nur eine teilweise Lösung für Ihr Problem ist, können Sie Ihrem Projekt einen zusätzlichen Include-Pfad hinzufügen.

Angenommen, /apache22/htdocs/myproject/ ist Ihr Projektordner.

  • rechten Maustaste auf Projektname
  • wählen Sie "Eigenschaften"
  • wählen Sie "PHP-Pfad Include"
  • Klick "Ordner hinzufügen ..."
  • hinzufügen /apache22/htdocs-private/myproject/

Es sollte jetzt in der linken Seitenleiste unter "Include Path" erscheinen. Aber es sieht so aus, als könntest du von dort aus nichts unternehmen.

0

Ich habe diesen Weg Struktur:

NetbeansProjects/myproject/www NetbeansProyects/myproject/geschützt

, die vollständig außerhalb des Web-Server-Pfad ist. Wenn ich dann meinen Code testen möchte, verwende ich ein einfaches Shell-Skript (es könnte eine .bat unter Windows sein), die die Dateien an die Stellen kopiert, an denen sie sein müssen. Also, durch Drücken von F6, wenn ich testen möchte, wird alles "entfaltet"

Um diesen Trick zu tun, sollten Sie Ihr Projekt konfigurieren, um Ihr "deploy script" auf der "Run Configuration" auszuführen. Hier ist mein, ich bin sicher, dass Sie es für Fenster anpassen können:

Run as: Script (ausgeführt in der Befehlszeile)

PHP-Interpreter:/bin/bash

Index-Datei : up_sync.sh

Arbeitsverzeichnis:/home/user/NetbeansProjects/myproject/

Die Datei up_sync.sh wäre Ihre .bat-Datei, die die Verzeichnisse an die entsprechenden Stellen kopiert.

Verwandte Themen