[PaaSのみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeで管理されるPaaS インフラストラクチャ)とオンプレミス プロジェクトにのみ適用されます。"}

PHP設定

.magento.app.yaml ファイルで実行する​ バージョンのPHPを選択できます。

name: mymagento
type: php:<version>
TIP
PHP 8.1以降にアップグレードする場合は、.magento.app.yaml ファイルのruntime: extensions: プロパティ ​からJSONを削除して再デプロイします。 JSON拡張機能は、PHP 8.0以降のクラウド環境にインストールされます。

PHPの設定

Adobe Commerceが管理する設定に追加するphp.ini ファイルを使用して、環境のPHP設定をカスタマイズできます。

リポジトリで、php.ini ファイルをアプリケーションのルート(リポジトリルート)に追加します。

TIP
PHP設定を適切に設定しないと問題が発生する可能性があるため、これらのオプションを設定するのは上級の管理者のみです。

PHPのメモリ制限を増やす

PHPのメモリ制限を増やすには、次の設定をphp.ini ファイルに追加します。

memory_limit = 1G

デバッグの場合は、値を2Gに増やします。

realpath_cache設定の最適化

アプリケーションのパフォーマンスを向上させるために、次のrealpath_cache設定を設定します。

;
; Increase realpath cache size
;
realpath_cache_size = 10M

;
; Increase realpath cache ttl
;
realpath_cache_ttl = 7200

これらの設定を使用すると、PHP プロセスはページ読み込みごとにパスを検索するのではなく、ファイルにパスをキャッシュできます。 PHP ドキュメントの​ パフォーマンスチューニング ​を参照してください。

NOTE
推奨されるPHP設定のリストについては、インストールガイド​の必須PHP設定を参照してください。

カスタム PHP設定の確認

php.iniの変更をCloud環境にプッシュした後、カスタム PHP設定が環境に追加されたことを確認できます。 例えば、SSHを使用してリモート環境にログインし、PHP設定情報を表示し、register_argc_argv ディレクティブのフィルターを実行します。

php -i | grep register_argc_ar

出力サンプル:

register_argc_argv => On => On
WARNING
ローカル開発にCloud Docker for Commerceを使用する場合は、Docker環境でカスタム php.ini ファイルを使用する方法について、Docker サービスコンテナ ​を参照してください。

拡張機能を有効にする

runtime:extension セクションでPHP拡張機能を有効または無効にできます。 また、指定された拡張機能は、Docker PHP コンテナで使用できるようになります。

IMPORTANT
拡張機能を有効にする前に、PHP バージョンがプロジェクトをホストするオペレーティングシステムと互換性がある必要があることを理解することが重要です。 プロジェクト環境では、続行する前にインフラストラクチャチームによるOSのアップグレードが必要になる場合があります。

.magento.app.yaml ファイルの例:

runtime:
    extensions:
        - sockets
        - sodium
        - ssh2
    disabled_extensions:
        - bcmath
        - bz2
        - calendar
        - exif

SSHを使用して環境にログインし、PHP拡張機能を一覧表示します。

php -m

特定のPHP拡張機能について詳しくは、PHP拡張機能リスト ​を参照してください。

次の表は、Adobe CommerceをCloud Platformにデプロイする際にサポートされるPHP拡張機能を示しています。

既定の拡張機能
アンインストールできないインストール済みの拡張機能
必要に応じてインストールおよびアンインストールできる拡張機能
bcmath
bz2
calendar
exif
gd
gettext
intl
libxml
mysqli
pcntl
pdo_mysql
Reflection
soap
sockets
SPL
standard
swoole
sysvmsg
sysvsem
sysvshm
zip
zlib
ctype
curl
date
dba
dom
fileinfo
filter
ftp
hash
iconv
json
mbstring
mysqlnd
openssl
pcre
pdo
pdo_sqlite
phar
posix
readline
session
sqlite3
tokenizer
xml
xmlreader
xmlwriter
igbinary
imap
ldap
mcrypt
mysqli
pdo_mysql
propro
recode
redis
shmop sockets
sodium
xmlrpc
xsl
NOTE
一部のPHP拡張機能には環境固有のインストール制限があり、上記の表では完全に表されていません。 例えば、LDAPはプロジェクト設定を通じて統合環境で有効にできますが、.magento.app.yamlを通じてPro ステージングおよび実稼動のセルフサービス設定ではありません。

PHP モジュールの要件は、Adobe Commerce バージョンに関連付けられています。 PHPの要件を参照してください。

拡張機能サポート

Pro プロジェクトの場合、次の拡張機能をインストールするには追加のサポートが必要です。

  • ioncube
  • sourceguardian

例えば、すべての環境でSourceGuardianで保護されたスクリプトのみを実行するようにPHPを設定するには、php.ini ファイルで次のオプションを設定する必要があります。

[SourceGuardian]
sourceguardian.restrict_unencoded = "1"

SourceGuardian ドキュメント 🔗の セクション 3.5を参照してください。 これはPDF​へのリンクです。

すべての実稼動環境およびPro ステージング環境でこれらのPHP拡張機能をインストールする方法については、Adobe Commerce サポートチケット ​を送信してください。 更新した.magento/services.yaml ファイル、更新したPHP バージョンの.magento.app.yaml ファイル、および追加のPHP拡張機能を含めます。 実稼働環境への変更の場合は、48時間以上の通知が必要です。 クラウドインフラチームがプロジェクトを更新するのに最大48時間かかります。

WARNING
デバッグでコンパイルされたPHPはサポートされておらず、プローブがXDebugまたはXHProfと競合する可能性があります。 プローブを有効にする場合は、これらの拡張機能を無効にします。 このプローブは、PinbaやIonCubeなどの一部のPHP拡張機能と競合しています。
recommendation-more-help
7c2b03ac-000c-497d-aba3-2c6dc720a938