[eluser]Nick Husher[/eluser]
It looks like there are plenty of sources on how to run PHP scripts as demon processes. I would look into that.
The code that handles communicating with the players (call it the face) might handle input/output concerns, while the demon manages game logic (call it the brain). The face puts any player actions it receives into a FIFO queue, probably in a database table and responds with the updated game state. You might also want to check any received actions to see if they're valid actions within the game rules before adding them to the queue. If an action is invalid or inappropriate, you can pass back an appropriate error message. The brain checks the FIFO queue every so often (100ms, perhaps?) and performs any tasks stored in the queue in order and updates the stored game state.
I would guess and say that CodeIgniter would be an inappropriate platform for designing the brain aspect, but ideal for the face. The advantage of developing the two with separate codebases is that you can, if you find you're running into scaling concerns, replace one or the other for a faster alternative. You could move the face to a distributed cluster solution, or reimplement the brain in a compiled language like C.