PHP settings

You can choose which version of PHP to run in your .magento.app.yaml file:

name: mymagento
type: php:<version>

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).

NOTE

Configuring PHP settings improperly can cause issues. We recommend only advanced administrators set these options.

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 each time a page loads. See Performance Tuning in the PHP documentation.

NOTE

For a list of recommended PHP configuration settings, see Required PHP settings in the Installation guide.

Check custom php.ini 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
WARNING

If you use Cloud Docker for Commerce for local development, see Docker service containers for information about using a custom 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.

.magento.app.yaml

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.

Default extensions Installed extensions
that cannot be uninstalled
Extensions that can be installed
and uninstalled as needed
bcmath
bz2
calendar
exif
gd
gettext
intl
mysqli
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
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:

  • ioncube
  • sourceguardian

Submit an Adobe Commerce Support ticket to install these PHP extensions. 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.

WARNING

PHP compiled with debug is not supported and the Probe may conflict with XDebug or XHProf. Disable those extensions when enabling the Probe. The Probe conflicts with some PHP extensions like Pinba or IonCube.

On this page