Various Fixes

- Don't crash if options are not passed. Default to empty object
- Allow passing the php path. Fallback to php
- Test php once we get the php path