PHP 套接字服务器


PHP socket server

我对套接字编程很陌生,但用php做了很多编码。我已经测试了一些套接字服务器示例代码,并且与本地主机配合良好。 我使用 CLI 运行服务器。 但我担心的是如何在托管服务器上运行套接字服务器.php文件?托管服务提供商通常是否授予对 CLI 的访问权限来运行服务器? 如何确保我的服务器始终运行?如果托管服务器重新启动,我的服务器会发生什么情况? 如果我的服务器崩溃(无论出于何种原因),我必须手动运行它吗?有人可以帮忙吗?

如果您正在谈论托管服务器,我希望您正在谈论共享主机。在这种情况下,如果您甚至设法运行服务等,也很难保持其稳定。我建议至少使用VPS。这样,您可以在后台运行它,在重新启动时自动启动它,还可以安装软件来检查进程并在失败时重新启动它。

例如:在共享主机上无法测试重新启动启动是否有效。

我不知道

您的提供商是否为您提供ssh访问权限。某些提供商这样做,但这是托管服务器或根服务器。

然后,您可以通过 CLI 运行脚本。

当您可以通过 CLI 运行服务器并且您有足够的权限时,您可以将脚本插入到运行级别。还有一种叫做"舍邦"的东西。有了这个,你可以给你的脚本直接的php解释器,并在没有php命令的情况下运行脚本。

php test.php or /usr/bin/php testScript.php

您可以使用 test 直接运行脚本.php也可以将脚本命名为仅 testScript

当你把你的脚本放到/usr/local/bin(对于 debian)时,你可以像 php 命令一样每次通过命令运行它。

编辑:我忘记了一些东西。对于此解决方案,您必须将/etc/init.d/skeleton 复制到/etc/init.d/runPHPSocketServer 并更改顶部的脚本值。然后,您可以将其插入到运行级别。

#: testScript or runPHPSocketServer start

当脚本位于可执行文件目录下时,您可以将其插入到系统运行级别。

#: update-rc.d runPHPSocketServer defaults

所以你看到有一些解决方案,但对于大多数解决方案,你需要ssh访问。