2013-08-03 100 views
0

我創建了一個LAMP堆棧,並開始學習PHP。我的Hello World程序遇到問題。在我的服務器上,我有一個名爲index.html的文件。這是該文件的內容(這基本上是複製從在線指南粘貼):爲html添加額外的輸出html世界中的文件

<html> 
<title>HTML with PHP</title> 
<body> 
<h1>My Example</h1> 

<?php 
echo '<p>Hello World</p>'; 
?> 

<b>Here is some more HTML</b> 

</body> 
</html> 

當在網絡瀏覽器中打開,我預計我的輸出是這個樣子:

My Example 

Hello World 

Here is some more HTML 

相反,它看起來是這樣的:

My Example 

Hello World 

'; ?> Here is some more HTML 

爲什麼是額外的 「';>?」 呢?我可能犯了一個簡單的錯誤。我已經嘗試訪問chrome,firefox和safari上的index.html,每次都有相同的結果。

回答

6

PHP不起作用HTML文件,請嘗試重命名爲索引。 PHP

除了代碼是罰款(也許像分離HTML和PHP的一些最佳實踐,但你會得到這個版本)

你沒有看到對整個PHP代碼的原因你的屏幕是因爲瀏覽器試圖解析元素<?php *** ?>,就好像它在哪裏有效的HTML(如<span>)一樣。如果你檢查html源碼,你會看到你的所有代碼。


有人在下面的評論中提到,有一些方法可以使PHP在HTML中工作。你不應該這樣做,除非你非常清楚你在做什麼。這不是默認設置,它應該保持這種狀態。如果你應該能夠在HTML文件中使用PHP,.php文件就不必存在。

當您擴展知識時,您將開始從PHP文件中分離HTML文件並使PHP包含模板。兩個單獨文件的兩個單獨文件

+1

這一切都取決於服務器配置。配置一個web服務器(以及許多)來分析與.php相同的.html文件是微不足道的。看起來他的網頁服務器可能被設置爲解析.html文件,否則整個PHP代碼,包括'<?php'和'echo'都應該包含在他的輸出中,但根據他的文章他們不是。 –

+0

啊,很好!給予好評。 –

+0

你可以讓PHP在HTML中工作,是的。但這不是默認設置。你應該保持這種方式,除非你知道你在做什麼。如果在html中使用php將是一個好主意,那麼'.php'文件不必存在:) – Martijn

1

將文件重命名爲index.php。

除此之外,PHP代碼必須由WEB SERVER解釋(在你的情況下,Apache)。

例如(如果您使用XAMPP在Windows上),並且你的php文件存在於您的服務器的文檔根目錄(htdocs目錄)的web內容的目錄,然後在瀏覽器輸入以下

http://localhost/htdocs/webcontent/index.php.

1

與其他人一樣說,你必須重命名index.htmlindex.php,但如果你必須使用index.html,放線以下到您的.htaccess文件,這樣你就可以處理.html文件作爲.php

AddType application/x-httpd-php .html