通常,如果您要使用 PHP 编写套接字服务器,您会希望通过命令行运行它。您需要考虑的事项是:
您需要访问套接字,这通常不在共享服务器上,因此您必须自己获得一个 VPS。
您可能希望在服务器上设置一个文件,该文件将在每次重新启动服务器时自动启动您的 PHP 脚本。通常这是通过在 /etc/init.d 中放置一个运行 PHP 脚本的 shell 脚本,然后在 /etc/rc5.d 中放置一个指向 shell 脚本的符号链接来完成的(假设这是您的默认级别)。
您也很可能不希望/不需要运行 Apache,除非您还计划将此服务器用作文件服务器。如果您仅将它用于套接字服务器,则需要安装 PHP-CLI。这将节省您的记忆。
如果您尝试在连接到服务器的用户之间进行实时交互,您可能根本不想涉及数据库。您的套接字服务器将拥有连接到套接字服务器的所有订阅者的列表,因此当其中一个向您发送消息时,您可以立即将该消息发送回所有连接的订阅者,而无需将任何内容存储在慢速数据库中。或者,如果您负担得起,您可能希望将信息保存在内存中。
对于并非所有浏览器都支持套接字的解决方案,称为 socket.io。基本上我相信如果支持它,它会尝试设置浏览器 websocket,但如果不支持,它会启动 Flash 套接字连接。无论哪种方式,您都使用相同的界面与之交互。
您可能还想考虑另一种语言来创建您的套接字服务器。PHP 并不是真正为这种类型的东西而构建的。更好的语言是 Javascript,尤其是在可扩展性受到关注的情况下。Node.js 是一个库,可以让您非常轻松地构建套接字服务器,并且具有更高的可扩展性。