2010-02-04 8 views
8

PHP를 처음 사용했습니다. XAMPP를 설치하고 아파치를 실행 시켰습니다. XAMPP의 htdocs에서 helloworld.php를 만들고 브라우저에 PHP가 표시되도록했습니다. 내 질문에, 내 HTML 파일에 내 PHP 스크립트가 내 브라우저에 표시되지 않는 이유는 무엇입니까? 필자는 PHP 자체를 설치하지 않았습니다. 설치해야합니까? XAMPP와 충돌합니까? 내 코드는 아래와 같습니다. 어떤 도움을 주시면 감사하겠습니다. 미리 감사드립니다 :PHP 스크립트가 HTML 파일에서 작동하지 않습니다.

<html> 
<body> 

<?php 
echo "Hello PHP World"; 
?> 

</body> 
</html> 
+0

더 많은 코드를 게시 하시겠습니까? –

+0

출력이란 무엇입니까? –

+1

Apache 서버의 "www"디렉토리에있는 파일입니까? (나는 www를 믿고 www-root가 될 수있다.) 그리고 그것이 여러분이 그것을 여는 것이라면 : http : //localhost/myFile.php? – Cipi

답변

9

XAMPP는 이미 PHP가 포함되어 있습니다,하지만 당신은 .php와 스크립트 이름을 종료하지 않는 한 PHP 엔진에 의해 처리 될 가능성이있다.

+0

네,하지만 XAMPP의 www 폴더에 스크립트를 넣지 않아도됩니까? 아니면 내가 틀렸어 ...? – Cipi

+0

@Cipi : 물론. 그러나 나는 그들이 별다른 것을 증명하지 않는 한 질문자에게 의심의 이익을주기를 더 좋아합니다. –

+0

그냥있을 법하지는 않지만 .php (어쩌면 .php5, 잊어 버려요) 상자 밖에 구성되지 않았습니다. 일반 .html (또는 .htm)은 Apache에서 곧바로 제공됩니다. – Paolo

5

아파치 용 PHP 모듈 자체가 MIME 유형 application/x-httpd-php의 핸들러로 등록됩니다. 그리고 구성 파일 아파치 \ conf의는 \ 추가 \ 아파치 - xampp.conf이 선 이름 확장명 .php로 가진 모든 파일이 응용 프로그램에 대한 핸들러에 의해 처리 될 수있는 아파치를 알려줍니다

<FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> 

를 포함/X -httpd-php
.
PHP 모듈에서 .html 파일을 처리하기를 원한다면 .html 확장자와 비슷한 것을 추가해야합니다. (어떤 확장 기능이 어떤 MIME 타입/핸들러에 맵핑되는지 아파치에게 알려주는 다른 방법이 있습니다. 그러나 FilesMatch/ SetHandler)
하나의 디렉토리에서만이 "기능"을 사용하려면 .htaccess file을 사용하여 해당 디렉토리 (및 해당 서브 디렉토리)에 대한 구성.

+0

답장을 보내 주셔서 감사합니다 VolkerK. .html 확장자를 .php로 변경 했으므로 스크립트가 작동합니다. 그러나, helloworld.php 파일을 클릭하면, Windows는 아파치가 실행 중임에도 불구하고 그것을 생성 한 프로그램을 알지 못합니다. 나는 조금 혼란 스럽다. 필자도 Windows 용 PHP를 설치해야합니까? – Anthony

+1

"파일을 클릭하면"즉, Windows 탐색기에서 두 번 클릭하면됩니까? 귀하의 아파치와 Windows 탐색기는 연결되어 있지 않습니다, 그들은 서로를 "알지 못합니다". 아파치는 http 요청을 처리합니다. 브라우저가 보냅니다. – VolkerK

+0

좋아요, 대단히 감사합니다. VolkerK, 지금 이해합니다. – Anthony

12

PHP를 .html 파일 내부에서 사용하려고한다고 가정합니다. 시도 htaccess로 파일을 추가하거나 다음 줄에 아파치 설정을 변경 : 당신은 httpd.conf에 항목에서 아파치에서 예를 들어 HTTP의 conf 에서 MIME 형식을 추가해야합니다

 
AddHandler application/x-httpd-php .html 
+0

예 .html 파일에서 PHP를 사용하려고합니다. 나는 w3schools (아래 링크 참조)에 의해 주어진 예제를 따르고 있었고 일단 아파치가 실행되면 간단히 어디서든 동작 할 것이라고 가정했다 : http://www.w3schools.com/php/php_syntax.asp .htaccess 파일 또는 아파치 설정을 바꾸면, 나는 그것을 연구해야 할 것이다. – Anthony

+0

실수로 w3schools는 .php 확장자가 있어야한다고 말했습니다.html) 그렇지 않으면 작동하지 않을 것입니다. – Anthony

4

<IfModule mime_module> 
    # 
    # TypesConfig points to the file containing the list of mappings from 
    # filename extension to MIME-type. 
    # 
    TypesConfig "conf/mime.types" 
    ....... 
    AddType application/x-httpd-php .html .htm 
    AddType text/html .shtml 

    AddOutputFilter INCLUDES .shtml 
</IfModule> 
6

중지 apache 서비스를 추가 한 다음 섹션의 c : \ xampp \ apache \ conf \ httpd.conf에 변경 사항을 하나 추가하십시오.

AddType application/x-httpd-php .html .htm 

아픔!

이것은 현재 xampp 배포판에서 32 비트를 차지하는 큰 '기능'처럼 보입니다.

+0

어떻게 apache 폴더가 보이지 않습니까? 업데이트 : 찾았습니다. httpd.conf는 내 etc 폴더에 있습니다. 직접 편집 할 수 없으므로 편집하기 전에'sudo su '해야합니다. 감사합니다. btw! –

0

지나치게 잔인합니다. 이 모든 제안은 5 시간 동안 나를 잘못된 길로 인도합니다. JK,하지만 나는 잘못된 답변을 제공하는 많은 Google 검색 항목을 읽었으며 각각의 제안은 잘못된 대답을 추가하는 것이 었습니다.

대답은 실제로 매우 간단하여 머리를 감길 수 있습니다. 단순히 파일 확장자를 ".html"에서 ".php"로 변경하십시오 !!! PHP에서 웹 페이지를 완전히 만들 수 있고 JQuery, 부트 스트랩 등의 JavaScript 및 모든 기능이 작동 할 것입니다.여기

증거의 간단한 예입니다 :

<head> 

    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <title>Blank Web Page</title> 

    <link rel="stylesheet" type="text/css" href="css/css.css"> 

</head> 

<body> 

    <?php 

    $son = 5; 
    $nos =10; 

    echo $son + $nos; 

    ?> 

    <h4>test to see if this html element can be output too!</h4> 

    <script type="text/javascript" src="js/js.js"></script> 

</body> 
내가 내 HTML 태그 (날 믿어 표시되지 않는 경우에도, 표준 HTML을 사용하고

공지 사항 거기에), 웹 페이지 물건과 내부에 삽입 된 PHP 코드가 있습니다. 물론 결과는 15이고 html 요소 h4도 올바르게 렌더링됩니다. 확장을 다시 "html"로 변경하면 h4 요소 만 가져오고 html에 대한 다중 주석을 사용하여 PHP 코드가 주석 처리 된 것을 알 수 있습니다.

나는 이것을 잊어 버렸습니다. Xampp에서도 마찬가지입니다.

관련 문제