In your case you shouldn't. :) PHP is string manipulation language, it's really hard to do anything else with it. (binary manipulation, network programs, binary streams, long running apps...)
That isn't true. PHP is a general purpose programming language. Binary manipulation is done about as often with PHP as it is with ruby. PHP has pack and unpack functions. Binary data can be stored in a PHP string with little overhead.
Also in practice PHP has been weak at certain types of string manipulation, because the template language doesn't lend itself to capturing the output in order to filter it. Intermediate PHP developers know how to save buffered data, but it isn't as straightforward as manipulating output data with rack or wsgi middleware.
It's a web framework and template language built around a handful of C wrappers and awkward database interactions. It can't even represent unsigned 64 bit integers. Any complex math requires you to convert the numbers into strings.
You cant rely on long running processes with PHP because of its error system. And PHP threads are a joke. PHP is definetly not a multipurpose language ,it's a string processor ,otherwise you would not have to begin your scripts with <?php
Ha. PHP is a binary manipulation language, it's a bit more difficult to do unicode with it. Network, binary streams, and even long running apps are doable.
Also in practice PHP has been weak at certain types of string manipulation, because the template language doesn't lend itself to capturing the output in order to filter it. Intermediate PHP developers know how to save buffered data, but it isn't as straightforward as manipulating output data with rack or wsgi middleware.