PHP projects can manage most of their dependencies locally with composer
. Some PHP extensions, however, need to be bundled with PHP at compile time.
Run devbox add php php83Packages.composer
, or add the following to your devbox.json
:
"packages": [
"php@latest",
"php83Packages.composer@latest
]
If you want a different version of PHP for your project, you can search for available versions by running devbox search php
. You can also view the available versions on Nixhub
You can compile additional extensions into PHP by adding them to packages
in your devbox.json
. Devbox will automatically ensure that your extensions are included in PHP at compile time.
For example -- to add the ds
extension, run devbox add php81Extensions.ds
, or update your packages to include the following:
"packages": [
"php@latest",
"php83Packages.composer",
"php83Extensions.ds"
]
The PHP Plugin will provide the following configuration when you install a PHP runtime with devbox add
. You can also manually add the PHP plugin by adding plugin:php
to your include
list in devbox.json
:
"include": [
"plugin:php"
]
- php-fpm
Use devbox services start|stop php-fpm
to start PHP-FPM in the background.
PHPFPM_PORT=8082
PHPFPM_ERROR_LOG_FILE={PROJECT_DIR}/.devbox/virtenv/php/php-fpm.log
PHPFPM_PID_FILE={PROJECT_DIR}/.devbox/virtenv/php/php-fpm.pid
PHPRC={PROJECT_DIR}/devbox.d/php/php.ini
- {PROJECT_DIR}/devbox.d/php81/php-fpm.conf
- {PROJECT_DIR}/devbox.d/php81/php.ini
You can modify these files to configure PHP or your PHP-FPM server