PHP is my favorite language for small projects. It's far from the best language for any task, but it has so many built-in functions that you can do
anything with it. I've even written a little Bitcoin network client with it.
No exceptions thrown from functions that wrap system calls.
You can use ErrorException to change this.
I forgot to mention: useless dollars signs everywhere that remind you how much $ you could be making coding with any other language.
There's a reason for this, though it probably could have been done in a better way. Text after a dollar sign is just a string representing the variable name, so you can do stuff like this:
//Assign "asdf" to the variable whose name is contained in $varname
$$varname="asdf";
Bitcoin Block Explorer uses this feature to create variables from the slash-separated data in the URL:
//creates variables like $param1,$param2, etc.
${"param".$number}=urldecode($item);