floserver.json
Each project keeps its settings in a small floserver.json in its folder. Commit it, and the next person who opens the folder gets the same setup.
An example
{
"php": "8.2",
"node": "22",
"database": "mariadb-11.4",
"web": "nginx",
"root": "public",
"extensions": ["intl", "gd", "-exif"],
"php_ini": { "memory_limit": "1024M" }
}
FloServer writes this file when you change a project’s versions in the window or with flo use. You can edit it by hand too; every key is optional, and {} means the defaults. flo check tells you if something in it is wrong.
The keys
| Key | What it holds |
|---|---|
php | A PHP version in quotes, such as "8.2" or "8.2.27". Or "newest" for the newest installed PHP, or false for no PHP. |
node | A Node.js version in quotes, such as "22". |
python | A Python version in quotes, such as "3.13". |
database | The database and its version, such as "mariadb-11.4". |
web | "nginx" (the default) or "apache", for projects that need .htaccess. |
root | The folder inside the project that the web server serves, such as "public". The default is the project folder itself. |
extensions | PHP extensions to turn on for this project, such as ["intl", "gd"]. A leading - turns one off: "-exif". opcache is always on. |
php_ini | php.ini values for this project, such as {"memory_limit": "1024M"}. |
command | One line that starts the project's own server, run in the project folder, such as "npm run serve -- --port {port}". FloServer puts the port in place of {port}. |
From the terminal
flo use php 8.5,flo use node 22,flo use python 3.13,flo use mariadb 11.4set a version.flo use php none,newestorauto: no PHP, always the newest, or PHP when the project has .php files.flo php <project> ext …andflo php <project> ini …change the project’s own PHP settings.
See the flo command for the rest.
Docs for FloServer 0.1.0Something wrong on this page? Email us