Attention
You can now run different PHP versions per project: Release v3.0.0-beta-0.1
FAQ¶
Find common questions and answers here.
See also
Table of Contents
- General
- Are there any differences between native Docker and Docker Toolbox?
- Why are mounted MySQL data directories separated by version?
- Why are mounted PostgreSQL data directories separated by version?
- Why are mounted MongoDB data directories separated by version?
- Why do the user/group permissions of log/ or cfg/ directories show 1000?
- Can I not just comment out the service in the .env file?
- Are there any required services that must/will always be started?
- What PHP Modules are available?
- Configuration
- Compatibility
- Does it work with CakePHP?
- Does it work with Codeigniter?
- Does it work with Contao?
- Does it work with CraftCMS?
- Does it work with Drupal?
- Does it work with ExpressionEngine?
- Does it work with Joomla?
- Does it work with Laravel?
- Does it work with Magento?
- Does it work with Phalcon?
- Does it work with Photon CMS?
- Does it work with PrestaShop?
- Does it work with ProcessWire?
- Does it work with Shopware?
- Does it work with Symfony?
- Does it work with Typo3?
- Does it work with Wordpress?
- Does it work with Yii?
- Does it work with Zend?
- Does it work with other Frameworks?
General¶
Are there any differences between native Docker and Docker Toolbox?¶
Yes, read Docker Toolbox and the Devilbox to find out more.
Why are mounted MySQL data directories separated by version?¶
This is just a pre-caution. Imagine they would link to the same datadir. You start the Devilbox with mysql 5.5, create a database and add some data. Now you decide to switch to mysql 5.7 and restart the devilbox. The newer mysql version will probably upgrade the data leaving it unable to start with older mysql versions.
Why are mounted PostgreSQL data directories separated by version?¶
See: Why are mounted MySQL data directories separated by version?
Why are mounted MongoDB data directories separated by version?¶
See: Why are mounted MySQL data directories separated by version?
Why do the user/group permissions of log/ or cfg/ directories show 1000?¶
Uid and Gid are set to 1000 by default. You can alter them to match the uid/gid of your current
user. Open the .env
file and change the sections NEW_UID
and NEW_GID
. When you start
up the devilbox, the PHP container will use these values for its user.
Can I not just comment out the service in the .env file?¶
No, don’t do this. This will lead to unexpected behaviour (different versions will be loaded).
The .env
file allows you to configure the devilbox, but not to start services selectively.
Are there any required services that must/will always be started?¶
Yes. http
and php
will automatically always be started (due to dependencies inside
docker-compose.yml
) if you specify them or not.
What PHP Modules are available?¶
The Devilbox is a development stack, so it is made sure that a lot of PHP modules are available out of the box in order to work with many different frameworks.
Available PHP modules can be seen at the PHP Docker image repository.
Configuration¶
Can I change the MySQL root password?¶
Yes, you can change the password of the MySQL root user. If you do so, you must also set the new
password in your .env
file. See MYSQL_ROOT_PASSWORD for how to change this value.
Can I change php.ini?¶
Yes, php.ini directives can be changed for each PHP version separately. See php.ini
Can I change my.cnf?¶
Yes, my.cnf directives can be changed for each MySQL version separately. See my.cnf
Can I change the project virtual host domain .loc
?¶
Yes, the .env
variable TLD_SUFFIX can be changed to whatever domain or subdomain
you want. See TLD_SUFFIX.
Warning
Be aware not to use dev
or localhost
. See TLD_SUFFIX for more details.
Also do not use any official domain TLDs such as com
, net
, org
, etc.
Can I just start PHP and MySQL instead of all container?¶
Yes, every Docker container is optional. The Devilbox allows for selective startup. See Start the Devilbox.
Do I always have to edit /etc/hosts
for new projects?¶
You need a valid DNS entry for every project that points to the Httpd server. As those records
don’t exists by default, you will have to create them. However, the Devilbox has a bundled DNS
server that can automate this for you. The only thing you have to do for that to work is to add
this DNS server’s IP address to your /etc/resolv.conf
.
See Setup Auto DNS for detailed instructions.
Compatibility¶
Does it work with CakePHP?¶
Yes, see Setup CakePHP
Does it work with Contao?¶
Yes, see Setup Contao
Does it work with Drupal?¶
Yes, see Setup Drupal
Does it work with Joomla?¶
Yes, see Setup Joomla
Does it work with Laravel?¶
Yes, see Setup Laravel
Does it work with Phalcon?¶
Yes, see Setup Phalcon
Does it work with Symfony?¶
Yes, see Setup Symfony
Does it work with Typo3?¶
Yes, see Setup TYPO3
Does it work with Yii?¶
Yes, see Setup Yii
Does it work with Zend?¶
Yes, see Setup Zend