I haven’t personally written server-side software to be distributed like this before, but I’d strongly consider the VM route, regardless of the language and platform you choose.
Although PHP may be easier to get up and running quickly, it’s also easy to make mistakes on. Different versions on different systems each have their own defaults, and PHP behaves drastically different depending on the system and settings. Making sure the settings are correct is difficult and will complicate setup. Trying to make it work with every possible configuration will result in bugs. Either approach will be unreliable, but a VM will fix these issues.
Regarding performance, there are definitely VMs which will perform adequately. Using VirtualBox with a virtual file system may not be adequate, but using Xen or a VMWare solution with a real disk will perform extremely well. You can use tools like Vagrant to interact with a number of these VMs.
I’ve been following the Docker project loosely, and although it looks really cool, they still have this warning on their home page:
Please note Docker is currently under heavy development. It should not be used in production (yet).
There will definitely be some experimentation and tuning involved in getting a good VM solution going, but I don’t think you’ll be able to achieve an easy install on any language or platform if you try to integrate and install directly into the host machine.