**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?*
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.
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.
There will however be slight differences between the versions and especially with HHVM. To see the exact bundled modules for each version visit the corresponding docker repositories on Github:
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 **[Configure](Configure.md)** for how to change the values.
Yes, if there are any PHP modules you require that are not yet available in the PHP Docker container, you can install it during run-time, or create your own container. See **[Hacking](Hacking.md)** for more information.
Yes, php.ini directives can be changes on a per PHP version base. Go to `./cfg/` inside devilbox git diretory. There you will find configuration directories for each php version. Just put a \*.ini file there and restart the devilbox.
Yes, my.cnf directives can be changes on a per MySQL version base. Go to `./cfg/` inside devilbox git diretory. There you will find configuration directories for each MySQL version. Just put a \*.cnf file there and restart the devilbox.
**Can I just start PHP and MySQL instead of all container?**
Yes, every Docker container is optional. The devilbox allows for selective startup. See **[Run: selective start](Run.md#13-selective-start)** for more detail.
**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 **[Configure: AutoDNS](Configure.md#62-auto-dns)** for instructions.
## 3. Usage
**Does it work with CakePHP?**
Yes, see **[How to setup CakePHP](Examples.md#2-setup-cakephp)**.
**Does it work with Drupal?**
Yes, see **[How to setup Drupal](Examples.md#3-setup-drupal)**.
**Does it work with Laravel?**
Yes, see **[How to setup Laravel](Examples.md#4-setup-laravel)**.
**Does it work with PhalconPHP?**
Yes, see **[How to setup Phalcon](Examples.md#5-setup-phalcon)**.
**Does it work with Symfony?**
Yes, see **[How to setup Symfony](Examples.md#6-setup-symfony)**.
**Does it work with Wordpress?**
Yes, see **[How to setup Wordpress](Examples.md#7-setup-wordpress)**.
**Does it work with Yii?**
Yes, see **[How to setup Yii](Examples.md#8-setup-yii)**.
**Does it work with Zend Framework?**
Yes, see **[How to setup Zend](Examples.md#9-setup-zend)**.