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變更推送至雲端環境後,您可以檢查自訂PHP設定是否已新增至您的環境。 例如,使用SSH登入遠端環境,並使用類似下列的程式檢視檔案:

cat /etc/php/<php-version>/fpm/php.ini
WARNING
如果您使用Cloud Docker for Commerce進行本機開發,請參閱Docker服務容器,以瞭解在Docker環境中使用自訂php.ini檔案的相關資訊。

啟用擴充功能

您可以在runtime:extension區段中啟用或停用PHP延伸。 此外,指定的擴展可在Docker PHP容器中使用。

IMPORTANT
在啟用擴充功能之前,請務必瞭解PHP版本必須與裝載專案的作業系統相容。 您的專案環境可能需要基礎架構團隊升級作業系統,才能繼續。

.magento.app.yaml檔案中的範例:

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

使用SSH登入環境並列出PHP擴充功能。

php -m

如需特定PHP擴充功能的詳細資訊,請參閱PHP擴充功能清單

下表顯示在雲端平台上部署Adobe Commerce時支援的PHP擴充功能。

預設副檔名
安裝的擴充功能無法解除安裝
可視需要安裝和解除安裝的擴充功能
bcmath
bz2
行事曆
exif
gd
gettext
intl
libxml
mysqli
opcache
pcntl
pdo_mysql
反射
soap
通訊端
SPL
standard
Swoole
sysvmsg
sysvsem
sysvshm
zip
zlib
ctype
curl
日期
dba
dom
檔案資訊
篩選器
ftp
雜湊
iconv
json
mbstring
mysqlnd
openssl
pcre
pdo
pdo_sqlite
phar
posix
readline
工作階段
sqlite3
tokenizer
xml
xmlreader
xmlwriter
geoip
gmp
igbinary
imagick
imap
ldap
mailparse
mcrypt
msgpack
mysqli
oauth
pdo_mysql
propro
pspell
raphf
重新編碼
redis
shmop通訊端

ssh2
整齊
xdebug
xmlrpc
xsl
yaml

PHP模組需求與Adobe Commerce版本繫結。 請參閱PHP需求

擴充功能支援

若為Pro專案,下列擴充功能需要額外支援才能安裝:

  • ioncube
  • sourceguardian

例如,若要設定PHP在所有環境中只執行SourceGuardian保護的指令碼,必須在php.ini檔案中設定下列選項:

[SourceGuardian]
sourceguardian.restrict_unencoded = "1"

請參閱SourceGuardian檔案的第3.5節這是PDF ​的連結。

提交Adobe Commerce支援票證,以取得在所有生產環境和Pro測試環境中安裝這些PHP擴充功能的協助。 包含更新的.magento/services.yaml檔案、.magento.app.yaml檔案(包含更新的PHP版本和任何其他PHP副檔名)。 若是即時生產環境的變更,您至少必須提供48小時的通知。 雲端基礎結構團隊更新您的專案最多可能需要48小時的時間。

WARNING
不支援使用偵錯編譯的PHP,而且探查可能與XDebug或XHProf衝突。 啟用Probe時停用這些擴充功能。 探查與某些PHP延伸模組(例如Pinba或IonCube)衝突。
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26