カスタムサーバーサイドスクリプトがpub メディアディレクトリで実行されない

この記事では、クラウドインフラストラクチャ上のAdobe Commerce アプリケーションの./pub/media/ ディレクトリに配置されている場合に、カスタムサーバーサイドスクリプトが実行されない場合の修正について説明します。 ./pub/media/ ディレクトリは書き込み可能なので、これは想定されるセキュリティ制限です。 スクリプトを実行可能にするには、./app/code/や./pub/など、書き込み不可能なディレクトリにスクリプトを配置します。

影響のあるバージョン

  • Adobe Commerce クラウドインフラストラクチャ:2.1.x以降、StarterおよびPro プランのアーキテクチャ、WingsおよびLegacy アーキテクチャ

問題:スクリプトが実行されない

カスタムサーバーサイドスクリプトは、起動時に実行できません。

例えば、エンドユーザー(Adobe Commerce買い物客)がスクリプト(domain.com/media/directory/script.php​など)を含む\*.php ファイルにつながるリンクをクリックすると、スクリプトは実行ではなくダウンロードされます。

原因:スクリプト ファイルの場所が正しくありません

この問題は、スクリプトファイルがクラウドインフラストラクチャ上のAdobe Commerce アプリケーションの./pub/media/ ディレクトリにある場合に発生します。 これは、予期された動作です。セキュリティの制限により、書き込み可能なディレクトリ (./pub/media/)のファイルは実行されません。

解決策:書き込み不可能なディレクトリにスクリプトを配置する

サーバー側のスクリプトを書き込み不可能なディレクトリ(./app/code/や./pub/)に保存します

関連ドキュメント

recommendation-more-help
commerce-knowledge-base-help