2011-12-21 60 views
0

我有Web-Developer Server Suite,PHP 5.25,我從SourceForge下載。 我的操作系統是Windows 7家庭版。如何有效地在主Web目錄之外運行腳本?

我將Apache升級到最新版本,並且很快就會將PHP升級到5.38。

它運作良好,除了一個小問題;虛擬主機在主Webroot之外 (C:/ www/vhosts)不要顯示PHP腳本或實際上任何腳本;只是簡單的代碼。所有虛擬主機都在C:/ www/vhosts中工作,但不是我在虛擬主機中聲明的任何其他位置。

的其它位置是:

  • C:/ WWW/
  • C:/網絡/虛擬主機檢驗/
  • C:/ WWW/businessweb/
  • C:/ WWW/newmediasite/public_html/

儘管我在httpd-vhosts.conf中聲明瞭位置!

我將如何讓服務器瞭解PHP的主要根目錄以外,還ASP.NET

(請記住我說mod_aspdotnet爲好)。

我很樂意欣賞這方面的任何建議;剛剛花了一天半的時間重建我的網絡服務器,重新安裝Web-Developer Server Suite(這對於初學者來說,IMHO非常好)後,從備份(所有PHP和MySQL)移動文件。

我不知道該怎麼做,但爲了相關性,我只是補充說這是嚴格的測試開發服務器。

+0

您需要爲每個虛擬主機IIRC配置modules /(f)cgi動作處理程序。在任何情況下,你都可以爲每個虛擬主機實際配置它。如果你需要的話,這也可以讓你並行使用不同的PHP版本。 – hakre

回答

0

從我對您的問題的理解中,您希望能夠將PHP文件存儲在計算機上的任何位置,但仍然能夠執行。我不相信這是可能的,因爲PHP文件通過網絡服務器打開,例如127.0.0.1/foo.php而不是文件://foo.php/

網絡服務器被配置爲執行/ www中的文件,除非有某個設置(我不知道),否則所有的PHP腳本都必須放在/ www中。

+0

不是那樣;只是在C:/ www /目錄中。 – xenid1986

1

您可以將腳本放置在Webroot外部的受保護目錄中,以便訪問者無法訪問它們。

但是,您需要在Webroot中放置包含這些腳本的腳本。大多數固件實現類似的功能。

<?php 
require_once('/var/usr/myConfigDir/config.php'); 
?> 

據我所知,只有配置爲Webroot的目錄才能夠執行腳本。 Apache已經爲Webroot之外的腳本添加了一個安全層。所以如果你的目標是保護你的一些腳本,你可以這樣做,否則,我不認爲這是可能的。

相關問題