101

HTMLページでPHPを使用できません。たとえば、index.html。私は両方を使ってみました:

<? contents ?> 

<?php contents ?> 

これらはどちらも機能しません。私のサーバーはPHPを提供しており、.php拡張機能を使用すると正しく機能します。これは問題ですか、それとも設定を変更する必要がありphp.iniますか?

4

12 に答える 12

151

.htmlファイルでPHPを実行することはできません。これは、サーバーが指示しない限り、PHPを有効なPHP拡張子として認識しないためです。これを行うには、ルートWebディレクトリに.htaccessファイルを作成し、それに次の行を追加する必要があります。

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

これにより、Apacheは.htmまたは.htmlファイル拡張子を持つファイルをPHPファイルとして処理するようになります。

于 2012-07-03T13:47:12.530 に答える
20

PHPを.htmlファイルに書き込むことは、混乱を招き、不自然だと思います。どうしてそうするか??

とにかく、PHPファイルを実行してアドレスバーに.htmlとして表示する場合、最も簡単な解決策は、通常どおり.phpを使用し、.htaccessに次のようなルールを記述することです。

RewriteRule ^([^.]+)\.html$ $1.php [L]
于 2012-07-03T13:56:14.020 に答える
15

.htmlファイルでphpを使用するには、HTTPサーバーの構成ファイルでそれらをPHPプロセッサに関連付ける必要があります。Apacheでは、次のようになります。

AddHandler application/x-httpd-php .html
于 2012-07-03T13:47:58.367 に答える
13

他の人が言ったように.htaccessを変更できますが、最も速い解決策はファイル拡張子を.phpに変更することです

于 2012-07-03T14:00:10.863 に答える
10

この行を追加します

AddHandler application/x-httpd-php .html

httpd.confあなたがやりたいことをファイルする。ただし、これを行うと、phpコードを含まない静的コードでも解析されるため、Webサーバーの速度が非常に遅くなることを覚えておいてください。したがって、より良い方法は.phtml、単に。ではなくファイル拡張子を作成することです.html

于 2012-07-04T20:43:31.113 に答える
7

ファイルも.html解析するには、サーバー構成で適切なハンドラーを設定する必要があります。

Apache httpd 2.Xの場合、これは次の行です

AddHandler application/x-httpd-php .html

特定のサーバーのインストールについては、PHPドキュメントを参照してください。

于 2012-07-03T13:49:01.903 に答える
6

デフォルトでは、HTMLページでPHPを使用することはできません。

これを行うには、.htacccessファイルを次のように変更します。

AddType application/x-httpd-php .html
于 2012-07-03T13:48:06.683 に答える
5

メモ帳を使用して空のファイルを作成し、.htaccessという名前を付けます。次に、そのファイルをプロジェクトディレクトリにコピーし、この行を追加して保存します。

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

それ以外の場合は、.phpを使用して.htmlファイルを保存します。phpはhtmlをサポートできるため、computer / var / www / html path(linux)に保存します。

于 2018-12-15T14:44:39.280 に答える
4

1つのhtmlファイルにphpコードしかないが、htmlコードのみを含む他のファイルが複数ある場合は、.htaccessファイルに次のファイルを追加して、その特定のファイルのみをphpとして提供することができます。

<Files yourpage.html>
AddType application/x-httpd-php .html 
//you may need to use x-httpd-php5 if you are using php 5 or higher
</Files>

これにより、PHPは「yourpage.html」ファイルでのみ実行可能になり、すべてのhtmlページでは実行できなくなり、サーバー全体の速度低下を防ぐことができます。

誰かがhtmlファイルを介してphpを提供したい理由については、GoogleスプレッドシートのIMPORTHTML関数を使用して、phpで解析してhtmlテーブルを作成する必要がある外部URLからJSONデータをインポートします。これまでのところ、.phpファイルをGoogleスプレッドシートにインポートする方法が見つからなかったため、関数を機能させるには.htmlファイルとして保存する必要があります。その特定の用途には、.htmlファイルを介してphpを提供できることが必要です。

于 2017-02-15T15:36:42.643 に答える
2

最新の改訂:これを行うphp-fpmのあまり知られていない「security.limit_extensions」を変更して修正する必要もあります。おそらく、apacheをAddHandler / AddTypeに変更するための十分に文書化されたメカニズムをすでに知っているでしょう。ここでは、これについては説明しません。

  1. セットアップのどこにphp-fpm/confがあるかを確認する必要があります。私はこれをすることによってそれをしました

    # grep -rnw '/etc/' -e 'security.limit_extensions'

  2. 私はこれを取り戻しました

    '/etc/php-fpm.d/www.conf:387:;security.limit_extensions = .php .php3 .php4 .php5 .php7'

  3. このファイルに移動し、編集して、コメントアウトされていることを確認してください。例';security.limit_extensions = .php .php3 .php4 .php5 .php7':<から変更してください。注:";"この行はデフォルトで実際には無効になっています。実際には、意味のない拡張機能はすべて必要ありません。おそらく危険です..<に変更して'security.limit_extensions = .php .htm'ください-セミコロンが削除されていることに注意してください。次に、apache /(またはnginx)を再起動し、php-fpmを再起動します# service php-fpm restart # service httpd restart

于 2020-08-13T10:40:49.020 に答える
0

AJAXも可能です。事実上、phpページからのデータが必要になります。データを取得したら、JavaScriptでフォーマットして表示できます。

var xmlhttp = new XMLHttpRequest();
var url = "risingStars.php";

xmlhttp.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
        getDbData(this.responseText);
    }
}
xmlhttp.open("GET", url, true);
xmlhttp.send();


function getDbData(response) {

//do whatever you want with respone
}
于 2020-04-04T18:15:32.437 に答える
-2

HTMLとPHPを組み合わせるには、.phtmlファイルを使用できます。

于 2015-10-14T16:56:27.030 に答える