Your best bet here is probably web sockets pub/sub service. Building this in a phalcon call is probably adding to much overhead to somethign that should be fast and efficient. Phalcon, in my opinion, is not the tool for something like this. Phalcon is not by its nature real time, it is a post/response methodology.
If you need to store user online count over time then you can simply store those calls in the database with a post request from your pub/sub service periodically.
I don't like the idea of storing it on teh user table, this can get corrupted and incorrect really fast unless you write procedures to periodically check for stagnate users. Storing it in memory and updating off of "connections" would be a more accuarate and more reliable number.
Periodically posting via ajax, adds some additioanlly complexities on teh back end that you have to deal with. have to do diff calculations to find out who has fallen off since the last grace period.