0

我必须使用网络套接字构建一个多层游戏。为此,我有一个与 Apache 共享的 Web 服务器。浏览器不是我只为现代浏览器构建的问题。我尝试了一些示例PHP和 web-socket 源代码,但没有运气。我需要做什么?以及如何启用PHPsocket_create功能?已经在扩展目录中启用php_sockets了扩展,php.ini并且也php_sockets.dll存在于扩展目录中。当我调用socket_create函数 php 时说这个函数是未定义的。

任何形式的帮助表示赞赏。谢谢

4

2 回答 2

1

似乎命令提示符使用了不同的 PHP 配置文件。

Apache(或来自 WAMP 的界面)使用位于以下位置的 php.ini:

 [WAMP_DIRECTORY]\bin\apache\Apache2.2.21\bin\php.ini

如果你打开这个文件,你可能会注意到行 extension=php_sockets.dll 已经被注释掉了。

不幸的是,CLI 或命令行界面使用的是不同的配置文件,它位于:

 [WAMP_DIRECTORY]\bin\php\php5.3.8\php.ini

为了解决它,您应该注释掉行 extension=php_sockets.dll 并保存它。之后运行程序以查看 websockets 是否已经启动并正常工作。

于 2013-04-30T12:14:47.097 回答
1

如果您可以保证浏览器中的 WebSocket 支持,请使用Ratchet。它不会在 Apache 中运行,而是作为一个单独的进程运行。

还有其他可用选项 - 请参阅实时网络技术指南

关于 WebSocket + PHP 的问题已经在 SO 上被问过很多次了。我建议在使用 Apache、PHP + WebSocket 时搜索最佳解决方案和已知问题。这是几个很好的开始问题,答案中有一些附加链接:

于 2013-04-30T12:16:18.700 回答