A couple points:
1) You're right. PHP isn't generally the right choice for this sort of project. If you'd asked me before you started, I'd prolly have suggested to look into other options. However, that doesn't necessarily make it not the right choice for your
project, which you're
2) While PHP doesn't currently support threading, you have other choices. For one, take a look at the process control functions
. These will require your code to be structured differently than a threaded app, but functionally it won't be all that different.
3) Threading and scaling are two separate discussions. PHP isn't a super fast language out of the box, but there are numerous ways to optimize which do make it sufficiently fast to handle the requirements of any large MUD. Specifically, take a look into opcode caching. xcache
is a good place to start. Data caching will also be important, which can be done with xcache, or (if you decide to cluster) memcache
In short, don't feel pressured to change just because everybody else does it differently. PHP can handle your needs just fine. It'll just take a bit of knowhow to optimize as you grow. If you have any questions, post to a PHP forum for help.
-Jess(Comment added by mann_jess on Sat May 15 23:50:23 2010)
Also, if you don't know C++, then don't learn it just to port your code. Python much more similar to PHP, generally faster, quick to develop, and supports threading. A compiled language is an optimal choice everything considered, but not if you have to learn it as you go; You'll just end up tossing all your work down the road once you realize how stupid your early learning-the-language design was. =p