5

PHPをApacheモジュールとして使用するWebサーバーの場合:

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

PHPをCGIとして実行しているWebサーバーの場合:

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

Nginxサーバーがあり、.jsファイルと.htmファイルをPHPとして実行したいので、それらの中に完全なPHPコードを入れます。これを行うようにNginxを構成する方法を知っている人はいますか?

4

6 に答える 6

21

fastcgiへのパスは私にはうまくいきませんでした。数時間検索した後、私はここで解決策を見つけました:http: //ffct.cc/solving-nginx-php-fpm-access-denied-issue/

要するに:

PHPバージョン>5.3.8なので、それを機能させるには、php-fpm.confにディレクティブを追加する必要があります。

security.limit_extensions = .php .html .js

認識記号は「アクセス拒否」です。(HTTPエラー403とは異なることに注意してください)アクセス.htmlまたは.jsファイルする場合。

于 2012-11-16T12:20:44.743 に答える
12

単純; 変更するだけ

location ~ \.php$ {
        root           html;
       fastcgi_pass   127.0.0.1:9000;
       fastcgi_index  index.php;
       fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

location ~ \.(php|html|htm)$ {
        root           html;
       fastcgi_pass   127.0.0.1:9000;
       fastcgi_index  index.php;
       fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
于 2014-04-07T06:27:29.747 に答える
3

.htm、.htmlファイルの例

  location ~ \.htm$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.htm;
            include        fastcgi.conf;
  }

.jsファイルの例

location ~ \.js$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

必要に応じて、拡張子とポートの設定を変更するだけです

于 2011-12-27T13:06:18.270 に答える
1

何年も後にこのスレッドに返信して、この問題を解決するために3時間費やしました。ロケーションブロック(php|html|htm)とPHP-FPM(security.limit_extensions)ですべての適切な設定がありました。問題は、すでに.html拡張子が付いていることでした。一部の静的ファイルに使用されていた以前の場所。正しい設定を使用しているにもかかわらず他の誰かが問題を抱えている場合は、私が行ったのと同じばかげた間違いをしていないことを確認してください:)

于 2021-11-17T15:54:08.000 に答える
0

リンク付きのトムの答え:

http://ffct.cc/solving-nginx-php-fpm-access-denied-issue/

本当に役に立ちました。しかし、私はphp-fpmをmac os yosemite w/homebrewにインストールしてphpを使用していました。php-fpm.confファイルへの変更は、.bash_profileに以下を追加するまで有効になりませんでした。

 # for homebrew php55
 export PATH="/usr/local/sbin:$PATH"

詳細については、以下を参照してください。

brew info php55
于 2015-04-10T19:58:24.550 に答える
0

PHP8.0を搭載したmacOS11.5で、http://localhost/index.htmlを参照すると、403Forbiddenで終わります。

/usr/local/etc/php/8.0/php-fpm.d/www.conf設定するファイルを変更する必要がありました

security.limit_extensions = .php .html

.htmlファイルのPHPコードブロックは正しく実行されます。nginx.confファイルのサーバーブロックは次のとおりです。

server {
  listen 80;
  server_name example.local;

  root "/var/www/html";
  index index.html;

  location / {
    try_files $uri $uri/ =404;
  }

  location ~ \.html$ {
    fastcgi_pass   127.0.0.1:9000;
    include        fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}
于 2021-09-25T21:47:37.493 に答える