CORSリクエストを処理するようにphpstudyを構成するには、特にApacheとPHPに関連するサーバー設定を変更する必要があります。これがCORSをセットアップするための段階的なアプローチです。
CORSヘッダーの追加:Apache構成ファイルに次の行を追加して、CORSヘッダーをセットアップする必要があります。
<code><ifmodule mod_headers.c> Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept" </ifmodule></code>
仮想ホストを使用している場合は、ファイルの最後に、または適切な<virtualhost></virtualhost>
セクション内にこれらの行を追加してください。
PHP構成(オプション) :PHPを使用してコンテンツを提供する場合は、PHPファイルの先頭に次のヘッダーを追加することで、PHPスクリプトでCORを処理することもできます。
<code class="php"><?php header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE"); header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); ?></code>
このセットアップにより、PHPStudyサーバー全体で基本的なCORS機能が可能になります。
CORSを有効にするために必要なPHPStudyの特定のサーバー設定には、主にApache構成ファイル( httpd.conf
)を変更して適切なCORSヘッダーを含めることが含まれます。追加する特定の設定は次のとおりです。
Apache Configuration( httpd.conf
) :
<code><ifmodule mod_headers.c> Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept" </ifmodule></code>
これらの設定により、サーバーは任意の起源( *
)からのCORSリクエストに応答できます。 CORを特定の起源に制限する場合は、WildCard( *
)を特定のドメインに置き換えることができます。
PHP構成(オプション) :
PHPを介して直接リクエストを処理している場合は、PHPファイルにCORSヘッダーを設定できます。
<code class="php"><?php header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE"); header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); ?></code>
これらは、phpstudyでcorsを有効にするために必要な重要な設定です。
はい、PHPStudyの構成を調整して、複数のドメインからのCORを許可できます。 Access-Control-Allow-Origin
を*
(任意の起源を許可する)に設定する代わりに、特定のドメインをリストできます。これがそれを行う方法です:
Apache Configuration( httpd.conf
) :
Access-Control-Allow-Origin
ヘッダーを変更して、特定のドメインをリストします。
<code><ifmodule mod_headers.c> Header set Access-Control-Allow-Origin "https://domain1.com, https://domain2.com" Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept" </ifmodule></code>
コンマで区切られた、必要な数のドメインを追加できます。
PHP構成:
PHPを介してCORを処理する場合、要求の原点に基づいて動的ヘッダー設定を使用できます。
<code class="php"><?php $allowed_origins = array("https://domain1.com", "https://domain2.com"); $origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : ""; if (in_array($origin, $allowed_origins)) { header("Access-Control-Allow-Origin: " . $origin); } header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE"); header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); ?></code>
このPHPコードは要求の原点をチェックし、それに応じてCORSヘッダーを設定します。
これらの方法を使用することにより、複数の指定されたドメインのcorを許可するようにphpstudyを構成できます。
PHPStudyのCORSの問題のトラブルシューティングには、サーバーとアプリケーションの構成をチェックするだけでなく、ブラウザエラーメッセージの調査が含まれます。 CORSの問題をトラブルシューティングする手順は次のとおりです。
ブラウザコンソールを確認します:ブラウザで開発者ツールを開き、[コンソール]タブに移動します。次のようなCORS関連のエラーメッセージを探してください。
<code>Access to XMLHttpRequest at 'your_url' from origin 'your_origin' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.</code>
これらのメッセージは、どのCORSヘッダーが欠落または間違っているかについての手がかりを提供します。
サーバーの構成の検証:phpstudyのhttpd.conf
ファイルにCORSヘッダーが含まれていることを確認してください。
<code><ifmodule mod_headers.c> Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept" </ifmodule></code>
変更後にApacheサーバーを再起動して、それらが有効になることを確認します。
PHPヘッダーの確認:PHPを使用してCORを処理する場合は、ヘッダーがPHPスクリプトで正しく設定されていることを確認してください。
<code class="php"><?php header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE"); header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); ?></code>
テストオプションのリクエスト:CORには、多くの場合、オプションリクエストの処理が含まれます(プレイライトリクエスト)。サーバーがこれらの要求に正しく応答していることを確認してください。 curl
などのツールを使用してテストできます。
<code>curl -X OPTIONS -H "Origin: your_origin" -H "Access-Control-Request-Method: POST" -H "Access-Control-Request-Headers: X-Requested-With" your_url</code>
応答に予想されるCORSヘッダーが含まれているかどうかを確認してください。
これらの手順に従うことにより、PHPStudyのCORSの問題を特定して解決できるはずです。
以上がcors(クロスオリジンリソース共有)リクエストを処理するようにphpstudyを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。