PHP 페이지가 정상적으로 실행되지 않고 지속적으로 다운로드되는 원인

PHP 페이지가 정상적으로 실행되지 않고 지속적으로 다운로드되는 원인

저는 다양한 웹 포럼 솔루션을 테스트하기 위해 VM에서 Ubuntu Server를 실행하고 있습니다. apache2 웹 서버에서 액세스할 수 있도록 ~/public_html/을 설정했는데 제대로 작동합니다.

그러나 브라우저에서 .php 파일로 이동하면(내 VM의 IP 주소/~username/phpfile.php 사용) 파일이 제대로 표시되지 않습니다. 대신 파일에 저장할 것을 제안하거나 어떤 프로그램으로 열 것인지 묻습니다. 흥미롭게도 해당 대화 상자는 그것이 PHP 파일임을 인식합니다.


시스템에 다음 버전의 PHP가 설치되어 있습니다.

PHP 5.3.2-1ubuntu4.5 with Suhosin-Patch (cli) (built: Sep 17 2010 13:49:46)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

그리고 다음 서버:

Server version: Apache/2.2.14 (Ubuntu)
Server built:   Nov 18 2010 21:19:09


이/잠재적인 해결책의 원인이 무엇인지 아는 사람이 있다면 매우 기쁠 것입니다. :)

편집: 이 동작은 ~/public_html/ 디렉토리의 파일에서만 명백하게 나타납니다. /var/www/에 있는 모든 PHP 파일은 정상적으로 작동합니다.

그 이유를 설명할 수 있는 사람에게 상이 가나요? :D (그리고 상이란 단지 잘한 일을 의미할 뿐 실제 상은 없습니다.)

답변1

현재 PHP의 CLI 버전만 설치되어 있을 수 있습니다.

sudo apt-get install php5

그리고 아파치를 다시 시작하세요

sudo apache2ctl restart.

다음을 수행하여 PHP 모듈이 Apache에 로드되었는지 확인할 수도 있습니다.

sudo apache2ctl -M

모듈이 로드되면 다음과 같은 내용이 표시되어야 합니다.

Loaded Modules:
 ...
 php5_module (shared)
 ...
Syntax OK

답변2

이것을 아파치 구성에 추가하십시오

AddType application/x-httpd-php .php 

답변3

.php 파일이 요청될 때 파일 내용을 반환하는 대신 PHP 인터프리터를 시작하도록 Apache를 구성해야 합니다.

이는 해당 디렉토리에 대한 httpd.conf에서 수행되어야 합니다. 다음과 같이 보일 것입니다 :

# Use for PHP 5.x:
LoadModule php5_module        modules/libphp5.so
AddHandler php5-script php 

# Add index.php to your DirectoryIndex line:
DirectoryIndex index.html index.php

AddType text/html       php

답변4

.htaccessAddType 행을 확인하세요 . 잘못된 콘텐츠 유형을 유발하는 사용자 정의 AddType이 있습니다. Firefox는 문제 디버깅에 도움이 되었지만 wget.

파이어폭스 Wget

관련 정보