PHP settings
You can choose which version of PHP to run in your .magento.app.yaml
file:
name: mymagento
type: php:<version>
runtime: extensions:
property in the .magento.app.yaml
file and redeploy. The JSON extension comes installed in Cloud environment since PHP 8.0.Configure PHP
You can customize the PHP settings for your environment using a php.ini
file that is appended to the configuration maintained by Adobe Commerce.
In your repository, add the php.ini
file to the root of the application (the repository root).
Increase PHP memory limit
To increase the PHP memory limit, add the following setting to the php.ini
file:
memory_limit = 1G
For debugging, increase the value to 2G.
Optimize realpath_cache configuration
Set the following realpath_cache
settings to improve application performance.
;
; Increase realpath cache size
;
realpath_cache_size = 10M
;
; Increase realpath cache ttl
;
realpath_cache_ttl = 7200
These settings allow PHP processes to cache paths to files instead of looking them up for each page load. See Performance Tuning in the PHP documentation.
Check custom PHP settings
After pushing the php.ini
changes to your Cloud environment, you can check that the custom PHP configuration has been added to your environment. For example, use SSH to log in to the remote environment and view the file using something similar to the following:
cat /etc/php/<php-version>/fpm/php.ini
php.ini
file in a Docker environment.Enable extensions
You can enable or disable PHP extensions in the runtime:extension
section. Also, the extensions specified become available in the Docker PHP containers.
Example in .magento.app.yaml
file:
runtime:
extensions:
- sockets
- sodium
- ssh2
disabled_extensions:
- bcmath
- bz2
- calendar
- exif
Use SSH to log in to an environment and list the PHP extensions.
php -m
For details about a specific PHP extension, see the PHP Extension List.
The following table shows the supported PHP extensions when deploying Adobe Commerce on the Cloud platform.
that cannot be uninstalled
and uninstalled as needed
bcmath
bz2
calendar
exif
gd
gettext
intl
mysqli
openswoole
pcntl
pdo_mysql
soap
sockets
sysvmsg
sysvsem
sysvshm
opcache
zip
ctype
curl
date
dom
fileinfo
filter
ftp
hash
iconv
json
mbstring
mysqlnd
openssl
pcre
pdo
pdo_sqlite
phar
posix
readline
session
sqlite3
tokenizer
xml
xmlreader
xmlwriter
geoip
gmp
igbinary
imagick
imap
ioncube
ldap
mailparse
mcrypt
msgpack
mysqli
oauth
pdo_mysql
propro
pspell
raphf
recode
redis
shmop
sockets
sodium
ssh2
tidy
xdebug
xmlrpc
xsl
yaml
PHP module requirements are tied to the Adobe Commerce version. See PHP requirements.
Extension support
For Pro projects, the following extensions require additional support to install:
sourceguardian
For example, to set up PHP to execute only SourceGuardian-protected scripts in all environments, the following option must be set in the php.ini
file:
[SourceGuardian]
sourceguardian.restrict_unencoded = "1"
See section 3.5 of the SourceGuardian documentation. This is a link to a PDF.
Submit an Adobe Commerce Support ticket for help with installing these PHP extensions in all Production environments and Pro Staging environments. Include your updated .magento/services.yaml
file, .magento.app.yaml
file with the updated PHP version and any additional PHP extensions. For changes to a live Production environment, you must provide a minimum of 48 hours notice. It can take up to 48 hours for the Cloud infrastructure team to update your project.