
On Wed, 5 Aug 2009, Alex Balashov wrote:
I abdicate the question with a parting thought: Why is it that more high-capacity, commercial-grade stuff (of the standalone, not web front-end variety) isn't written in PHP? Why doesn't someone like Metaswitch or Broadsoft implement internals in PHP? To some extent, the answer is accounted for by the stubbornness of large-corporate fashions and entrenched interests surrounding certain technology stacks, as we well know, but I don't think that's the whole explanation. It's not like these guys didn't get the memo on PHP or something.
I really think it has to do with the existing code-base and the existing developers. Each company is beholden to the geeks that build, maintain and manage the mess of code that exists. Those geeks either get to choose what technologies are used, or do not have the resources to rewrite working code and are forced to maintain the code already written, maybe adding things on in different more familiar languages along the way, until you're in a giant pile of spaghetti code in 9 languages, all tangled loosely but functionally together by a very thin thread. What do Metaswitch or Broadsoft use? C? Perl? Are they using Asterisk or did they build their own telecom server stack? How do you know they are NOT using PHP internally or even externally? Disabling the web management server's tag (not returning "Apache/1.2.47 PHP/5.2.5" on requests, even though that is exactly what it is running) is trivial and a good security choice, assuming these devices are configured via a web-based interface.
Good to know; I had not considered the soft reload angle. Thanks!
No problem! Just be sure that if your FastAGI is using HTTP API calls to your backend that you are able to manage DB changes gracefully. Having an existing call make a call to an internal backend API that now requires an additional variable will fail unless that case is handled. This is one of the reasons the FastAGI does not talk to the DB directly, but through HTTP API calls that are handled quickly by PHP.
That's a smart setup. And, PHP is a fine language to use for an HTTP and/or RESTful API dispatcher. :)
Why thank you! :-) Beckman --------------------------------------------------------------------------- Peter Beckman Internet Guy beckman at angryox.com http://www.angryox.com/ ---------------------------------------------------------------------------