#!/bin/bash -x # Taken from: https://gist.github.com/Jiab77/4d3c1abeb9be4119f33031750cf580d4 # Increasing local web server performances as possible # https://stackoverflow.com/questions/39842170/load-balancing-php-built-in-server/47103758#47103758 # get a random port -- this could be improved port=$(shuf -i 2048-65000 -n 1) # start the PHP server in the background if [[ -d "$(realpath ${1:?Missing path to serve})" ]]; then php -S localhost:"${port}" -t "$(realpath ${1:?Missing path to serve})" & else php -S localhost:"${port}" "$(realpath ${1:?Missing path to serve})" & fi pid=$! # try to adjust delay to improve performances sleep 0.2 # proxy standard in to nc on that port nc localhost "${port}" # kill the server we started kill "${pid}"