HTMLページでPHPを使用できません。たとえば、index.html
です。私は両方を使ってみました:
<? contents ?>
そして
<?php contents ?>
どちらもうまくいきません。私のサーバーはPHPを提供しています、そして私が.php
エクステンションを使うとき、それはきちんと動きます。これは問題ですか、それともphp.ini
の設定を変更する必要がありますか?
指示がない限り、サーバーはこれを有効なPHP拡張子として認識しないため、.htmlファイルでPHPを実行することはできません。これを行うには、ルートWebディレクトリに.htaccessファイルを作成し、それにこの行を追加する必要があります。
AddType application/x-httpd-php .htm .html
これはApacheに.htmまたは.htmlファイル拡張子を持つファイルをPHPファイルとして処理するように伝えます。
.htmlファイルにPHPを書くのは混乱を招き、反自然なものだと思います。どうしてそうするか??
とにかく、PHPファイルを実行してアドレスバーに.htmlとして表示するのが最も簡単な解決策は、通常どおり.phpを使用して、次のように.htaccessにルールを書くことです。
RewriteRule ^([^.]+)\.html$ $1.php [L]
.htmlファイルでphpを使用するには、HTTPサーバーの設定ファイルでそれらをPHPプロセッサに関連付ける必要があります。 Apacheでは、これは次のようになります。
AddHandler application/x-httpd-php .html
あなたは他の人が言ったように.htaccessを修正することができますが、最も速い解決は.phpにファイル拡張子を改名することです
この行を追加
AddHandler application/x-httpd-php .html
やりたいことはhttpd.conf
ファイルに。ただし、これを行うと、Webサーバーは非常に低速になります。これは、phpコードを含まない静的コードでも解析されるためです。したがって、より良い方法は、ファイル拡張子を単に.phtml
ではなく.html
にすることです。
.html
ファイルも同様に解析するためには、サーバー設定で適切なハンドラを設定する必要があります。
Apache httpd 2.Xの場合、これは次の行です。
AddHandler application/x-httpd-php .html
特定のサーバーインストールについての情報は PHPのドキュメント を参照してください。
デフォルトでは、HTMLページでPHPを使用することはできません。
これを行うには、次のように.htacccessファイルを変更します。
AddType application/x-httpd-php .html
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関数を使用して外部URLからJSONデータをインポートし、それを整理してhtmlテーブルを作成する必要があります。これまでのところ、私は.phpファイルをGoogleスプレッドシートにインポートする方法を見つけていないので、機能するためには.htmlファイルとして保存する必要があります。その特定の用途には、.htmlファイルを介してphpを提供できることが必要です。
メモ帳を使用して空のファイルを作成し、.htaccessという名前を付けます。次に、そのファイルをプロジェクトディレクトリにコピーし、この行を追加して保存します。
AddType application/x-httpd-php .htm .html
それ以外の場合は、phpでhtmlをサポートできるので、.phpを使用して.htmlファイルを保存し、computer/var/www/htmlパスに保存します(linux)。