我已经创建了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文件。需要帮助。
谢谢。
发布于 2011-12-13 19:42:33
不能通过HTTP调用服务器来启动服务器。假设您正在使用Apache,将会发生以下情况: Apache工作线程获取您的请求并启动底层PHP脚本。然后,根据您的php.ini设置,脚本将在一段时间后终止(max_execution_time)。
为了让它以您期望的方式工作,PHP脚本必须派生自己并启动一个新的会话(通过posix_setsid())。这将要求工作线程以root身份运行,尽管这是一个绝对的安全问题。
如果您拥有对服务器的访问权限(通过SSH),就可以像在本地一样启动服务器,唯一的例外是-如果您没有根权限- PHP脚本不能监听特权端口(端口<= 1024)。
发布于 2011-12-13 19:46:27
您要做的是将php脚本作为服务器启动,当您使用web浏览器访问它时,调用的服务器是http服务器(apache或其他服务器)。
然后,http服务器调用php模块来启动您的脚本。由于请求有一个最大执行时间,所以您不能让它作为服务器运行!
如果您在服务器上有足够的权限,您可以做的是创建一个php脚本,使用服务器端程序执行来启动服务器。
https://stackoverflow.com/questions/8488505
复制相似问题