0

我有一个用于客户端和服务器套接字编程的代码。在 Server.php 文件中,我正在从客户端读取数据并将相同的数据上传到 mysql。

$input = socket_read($spawn, 1024) or die("Could not read input\n");
$sql= "INSERT into data VALUES ('$input')";

服务器此代码仅在浏览器中调用该 URL 时运行。我需要 24x7 连续运行服务器程序。在这种特殊情况下我应该怎么做。一些提供托管以及套接字。在这种情况下,我不需要在浏览器中运行 server.php 吗?还是有其他方法?

4

1 回答 1

0

您可以简单地使用while true循环,但请确保对套接字(socket_set_block())使用阻塞模式,或者至少sleep()在循环内部使用阻塞模式,以免过多地穿透服务器;)

然后有很多选项可以在服务器上运行脚本,例如在屏幕会话中,作为后台进程或使用诸如 start-stop-deamon 等工具...

当然,您需要定期检查一切是否正常,即。使用 cron 并在需要时重新启动进程等...

于 2013-07-15T12:21:26.903 回答