首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP套接字服务器作为服务运行

问PHP套接字服务器作为服务运行
EN

Stack Overflow用户
提问于 2011-12-13 19:34:43
回答 2查看 2.3K关注 0票数 4

我已经创建了PHP套接字服务器,并通过命令提示符在localhost ( 127.0.0.1)中启动了它。i.e

C:\xampp\php\php server.php

这在localhost.but中运行得很好,我的问题是我必须在域服务器中运行这个server.php文件。我已经将server.php文件复制到web主机目录(http://example.com/server.php),并将ip地址更改为php文件中的域ip地址。现在的问题是,当我在浏览器中运行该文件时

http://www.example.com/server.php

socket服务器启动正常,5分钟内浏览器自动停止(错误500)。如何通过命令提示符运行server.php文件。需要帮助。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2011-12-13 19:42:33

不能通过HTTP调用服务器来启动服务器。假设您正在使用Apache,将会发生以下情况: Apache工作线程获取您的请求并启动底层PHP脚本。然后,根据您的php.ini设置,脚本将在一段时间后终止(max_execution_time)。

为了让它以您期望的方式工作,PHP脚本必须派生自己并启动一个新的会话(通过posix_setsid())。这将要求工作线程以root身份运行,尽管这是一个绝对的安全问题。

如果您拥有对服务器的访问权限(通过SSH),就可以像在本地一样启动服务器,唯一的例外是-如果您没有根权限- PHP脚本不能监听特权端口(端口<= 1024)。

票数 1
EN

Stack Overflow用户

发布于 2011-12-13 19:46:27

您要做的是将php脚本作为服务器启动,当您使用web浏览器访问它时,调用的服务器是http服务器(apache或其他服务器)。

然后,http服务器调用php模块来启动您的脚本。由于请求有一个最大执行时间,所以您不能让它作为服务器运行!

如果您在服务器上有足够的权限,您可以做的是创建一个php脚本,使用服务器端程序执行来启动服务器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8488505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档