カスタムサーバーサイドスクリプトが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/)に保存します
関連ドキュメント
- 開発者向けドキュメントのCloud for Adobe Commerce/プロジェクト構造/書き込み可能なディレクトリ 。
recommendation-more-help
commerce-knowledge-base-help