2015-05-18 152 views
-2

我正在參加網頁設計和管理課程,教授基本上希望我們將網站上傳到大學的學生服務器。我之前做過網站,但他希望我們將PHP融入其中,爲此我幾乎沒有任何經驗。我寫了一個頁面,index.html無法在HTML網頁中加載PHP

<html> 
    <head> 
     <title>Welcome</title> 
    </head> 

    <?php include('../includes/header.php') ?> 
    <?php include('../includes/menu.php') ?> 
    <?php include('../includes/lsidebar.php') ?> 
    <?php include('../includes/rsidebar.php') ?> 
    <?php include('../includes/home.php') ?> 

</html> 

一旦我上傳這個文件,與所有有關的人(的header.php,menu.php,lsidebar.php,rsidebar.php一起,並home.php所有與一些html內容),並將適當的文件權限更改爲755,我打開服務器中爲我保留的空間,以查找索引頁爲空!

我發電子郵件關於此的教授,他說我應該把此行作爲我在文件中第一行:

#!/usr/local/bin/php 

我又跑了網站,頁面僅顯示上面的行。我怎樣才能讓PHP文件在HTML文件中被識別?

非常感謝您提前給予任何幫助!

+1

*「我寫了一頁,index.html」* - 然後做*「我寫了一個頁面,index.php」*它會工作;-)或指示Apache將'.html'文件當作PHP。 –

+0

記得要關閉這些關''php include('../ includes/header.php'); ?>這只是一個好習慣。 –

+0

我忘了補充一點,但我在'index.html'和'index.php'中試過這個,並且得到了同樣的錯誤 – gfcf14

回答

2

首先,正如@FoX之前所評論的,您必須將.php擴展名添加到您的文件中,以便在服務器端運行PHP代碼。如果添加.html擴展名,PHP code無法在服務器端運行。

編輯:除非你以這種方式配置你的服務器,就像@ Fred-ii-在他的評論中建議的那樣。在這種情況下,您必須編輯.htaccess文件(Apache)或web.config(Windows IIS服務器)中的文件,將.html文件視爲.php

他還提出了另一種選擇,即基於Apache中httpd.conf文件的頭修改。我重視他給我提供的鏈接:

https://encodable.com/parse_html_files_as_php/

Parse HTML as PHP

此外,你的代碼將調試Fatals errors由於一個事實,即每行必須以;

<?php include('../includes/header.php'); ?> 
<?php include('../includes/menu.php'); ?> 
<?php include('../includes/lsidebar.php'); ?> 
<?php include('../includes/rsidebar.php'); ?> 
<?php include('../includes/home.php'); ?> 

我將結束建議您在W3Schools網站上查看PHP的基本概念:

http://www.w3schools.com/php/

+1

*「如果添加.html擴展名,PHP代碼無法在服務器上運行一邊(顯然)。「* - 不真實。閱讀[我的第二個評論](http://stackoverflow.com/questions/30305705/cannot-load-php-inside-html-webpage#comment48706780_30305705)到OP。 –

+1

這很公平,我忘了補充一句,「_unless您在服務器上使用'.htaccess'或'web.config',以將'.html'文件當作'.php'_」:) @ Fred-ii- –

+1

它應該被添加到你的答案。另外,這裏是一個Q&A http:// stackoverflow。com/q/7181853 /顯示了一些其他選項。另一頁https://encodable.com/parse_html_files_as_php/ –