in reply to Problems with 500 server errors

I haven't reviewed your code in detail, but it jumps right out that there is probably no /user directory on the system, and if there were you probably wouldn't have write permission. A relative path like "user/test" may be what you mean.

If your user/test is executable, be aware that there is a system util called 'test'. You will break shell scripts if your test gets called instead. You will become confused if the system 'test' gets executed in rather than yours.

After Compline,
Zaxo