I use docker. Pretty much just copy/paste this docker-compose file into every new project which gives me a PHP/Apache server and an SMTP server for testing emails in a single command: docker-compose up
version: "3"
services:
server:
image: webdevops/php-apache-dev:7.2
volumes:
- ./site:/app
ports:
- "8080:80"
maildev:
image: djfarrelly/maildev
ports:
- "1080:80"
- "1025:25"
I usually also run browser-sync.
browser-sync start --proxy localhost:8080 --files site/**/*
I’ve found this is a nice balance between simplicity and power. I don’t usually deal with grunt/gulp/webpack/sass/etc. Just a single hand written CSS file. Anything up to around 1,500 lines is pretty easy to maintain and sidesteps tons of unneeded complexity.