Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP套接字服务器作为服务运行_Php_Sockets - Fatal编程技术网

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

PHP套接字服务器作为服务运行,php,sockets,Php,Sockets,我已经创建了PHP套接字服务器,并通过命令提示符在localhost(127.0.0.1)中启动了它。i、 e C:\xampp\php\php server.php 这在localhost.com中运行良好,但我的问题是我必须在域服务器中运行这个server.php文件。我已将server.php文件复制到web主机目录(http://example.com/server.php)并将php文件中的ip地址更改为域ip地址。现在的问题是当我在浏览器中运行文件时 套接字服务器启动正常,在5分钟

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

C:\xampp\php\php server.php

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

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


谢谢

不能通过HTTP调用服务器来启动服务器。假设您使用的是Apache,则会发生以下情况:一个Apache工作线程接收您的请求并启动底层PHP脚本。然后,根据您的
php.ini
设置,脚本在一定时间后终止(
max\u execution\u time

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


如果您可以访问服务器(通过SSH),则可以像在本地一样启动服务器,但如果您没有根权限,PHP脚本无法在特权端口上侦听(端口您要做的是将php脚本作为服务器启动,当您使用web浏览器访问它时,称为http服务器的服务器(apache或其他)

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


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

您是否有SSH访问服务器的权限?您没有CLI的可能性吗?我通过以下代码工作,谢谢您的帮助。这对我帮助很大。。。。。