HTMLページでPHPを使用できません。たとえば、index.html
。私は両方を使ってみました:
<? contents ?>
と
<?php contents ?>
これらはどちらも機能しません。私のサーバーはPHPを提供しており、.php
拡張機能を使用すると正しく機能します。これは問題ですか、それとも設定を変更する必要がありphp.ini
ますか?
.htmlファイルでPHPを実行することはできません。これは、サーバーが指示しない限り、PHPを有効なPHP拡張子として認識しないためです。これを行うには、ルートWebディレクトリに.htaccessファイルを作成し、それに次の行を追加する必要があります。
AddType application/x-httpd-php .htm .html
これにより、Apacheは.htmまたは.htmlファイル拡張子を持つファイルをPHPファイルとして処理するようになります。
PHPを.htmlファイルに書き込むことは、混乱を招き、不自然だと思います。どうしてそうするか??
とにかく、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
あなたがやりたいことをファイルする。ただし、これを行うと、phpコードを含まない静的コードでも解析されるため、Webサーバーの速度が非常に遅くなることを覚えておいてください。したがって、より良い方法は.phtml
、単に。ではなくファイル拡張子を作成することです.html
。
ファイルも.html
解析するには、サーバー構成で適切なハンドラーを設定する必要があります。
Apache httpd 2.Xの場合、これは次の行です
AddHandler application/x-httpd-php .html
特定のサーバーのインストールについては、PHPドキュメントを参照してください。
デフォルトでは、HTMLページでPHPを使用することはできません。
これを行うには、.htacccessファイルを次のように変更します。
AddType application/x-httpd-php .html
メモ帳を使用して空のファイルを作成し、.htaccessという名前を付けます。次に、そのファイルをプロジェクトディレクトリにコピーし、この行を追加して保存します。
AddType application/x-httpd-php .htm .html
それ以外の場合は、.phpを使用して.htmlファイルを保存します。phpはhtmlをサポートできるため、computer / var / www / html path(linux)に保存します。
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を提供できることが必要です。
最新の改訂:これを行うphp-fpmのあまり知られていない「security.limit_extensions」を変更して修正する必要もあります。おそらく、apacheをAddHandler / AddTypeに変更するための十分に文書化されたメカニズムをすでに知っているでしょう。ここでは、これについては説明しません。
セットアップのどこにphp-fpm/confがあるかを確認する必要があります。私はこれをすることによってそれをしました
# grep -rnw '/etc/' -e 'security.limit_extensions'
私はこれを取り戻しました
'/etc/php-fpm.d/www.conf:387:;security.limit_extensions = .php .php3 .php4 .php5 .php7'
このファイルに移動し、編集して、コメントアウトされていることを確認してください。例';security.limit_extensions = .php .php3 .php4 .php5 .php7'
:<から変更してください。注:";"
この行はデフォルトで実際には無効になっています。実際には、意味のない拡張機能はすべて必要ありません。おそらく危険です..<に変更して'security.limit_extensions = .php .htm'
ください-セミコロンが削除されていることに注意してください。次に、apache /(またはnginx)を再起動し、php-fpmを再起動します# service php-fpm restart
# service httpd restart
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
}
HTMLとPHPを組み合わせるには、.phtmlファイルを使用できます。