2011-12-21 2 views
0

저는 SourceForge에서 다운로드 한 PHP 5.25와 함께 Web-Developer Server Suite를 보유하고 있습니다. 내 운영 체제는 Windows 7 Home Edition입니다.주요 웹 디렉토리 외부에서 스크립트를 효과적으로 실행하는 방법은 무엇입니까?

아파치를 최신 버전으로 업그레이드했으며 곧 PHP를 5.38로 업그레이드 할 예정입니다.

하나의 작은 문제를 제외하면 잘 작동합니다. 기본 웹 루트 외부의 가상 호스트 (C :/www/vhosts) 은 PHP 스크립트 또는 실제로 모든 스크립트를 표시하지 않습니다. 그냥 평범한 코드. 모든 가상 호스트는 C :/www/vhosts 내에서 작동하지만 가상 호스트에서 선언 한 다른 위치에서는 작동하지 않습니다.

다른 사항은 :

  • C/WWW/
  • C/WWW/가상 호스트 테스트/
  • C/WWW /하는 BusinessWeb/
  • C/WWW/newmediasite/public_html/

사실 내가 httpd-vhosts.conf에서 위치를 선언 했음에도 불구하고!

어떻게 서버가 기본 웹 루트 외부 PHP를 이해하는 얻을 것이다, 또한 ASP.NET은

(명심 나는 mod_aspdotnet뿐만 아니라 추가).

나는 이것에 대한 조언을 기꺼이 받아주었습니다. Web-Developer Server Suite (IMHO, 초보자에게는 매우 유용함)를 재설치 한 후 백업 파일 (모든 PHP 및 MySQL)에서 파일을 옮기는 1 일 반을 보냈습니다.

어디로 갈지는 잘 모르겠지만 관련성을 위해 테스트 용 개발 서버를 추가하겠습니다.

+0

각 가상 호스트 IIRC에 대한 모듈/(f) cgi 조치 처리기를 구성해야합니다. 어쨌든 가상 호스트별로 실제로 구성 할 수 있습니다.또한 필요한 경우 다른 PHP 버전을 병렬로 사용할 수 있습니다. – hakre

답변

0

귀하의 질문에 대한 이해에서, 당신은 귀하의 컴퓨터에서 PHP 파일을 가질 수 있기를 원하지만 여전히 실행할 수 있어야합니다. 나는 PHP 파일이 웹 서버, 즉 파일 대신에 127.0.0.1/foo.php를 통해 열리기 때문에 가능하지 않다고 믿는다 :

웹 서버는/www, 어딘가에 설정이 없다면 (나는 알지 못합니다) 모든 PHP 스크립트는/www에 있어야합니다.

+0

그렇지 않습니다. 기본적으로 C :/www/디렉토리 내에 있습니다. – xenid1986

1

웹 루트 외부의 보호 된 디렉토리에 스크립트를 배치하여 방문자가 액세스 할 수 없도록 할 수 있습니다.

그러나 이러한 스크립트가 포함 된 Webroot에 스크립트를 배치해야합니다. 대부분의 Firmware는 유사한 기능을 구현합니다.

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

내가 알기 론 Webroot로 구성된 디렉토리 만 스크립트를 실행할 수 있습니다. 이미 Apache는 Webroot 외부에서 스크립트를 실행하지 않는 보안 계층을 추가합니다.

그래서 스크립트의 일부를 보호하는 것이 목표라면, 그렇게 할 수 있습니다. 그렇지 않으면 가능하지 않다고 생각합니다.

관련 문제