php - PHP套接字服务器

标签 php sockets websocket

我是套接字编程的新手,但是使用php进行了大量编码。
我已经测试了一些套接字服务器示例代码,并且可以在localhost上正常工作。我使用CLI运行服务器。但是我担心的是如何在托管服务器上运行套接字服务器.php文件?托管服务提供商通常是否授予对CLI的访问权限以运行服务器?如何确保服务器始终处于运行状态?如果托管服务器重新启动,我的服务器将如何处理?万一我的服务器崩溃了(无论什么原因),我是否必须手动运行它?
有人可以帮忙吗?

最佳答案

我不知道您的提供商是否为您提供了ssh访问权限。某些提供程序可以执行此操作,但这是托管服务器或根服务器。

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

当您可以通过CLI运行服务器并且拥有足够的权限时,可以将脚本插入运行级别。并且有一种叫做“shebang”的东西。有了这个,您可以直接给您的脚本提供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访问。

关于php - PHP套接字服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11291744/

相关文章:

java - Spring websocket端点并发送消息

php - Mysql存储过程错误

java - 如何使用 Java 中的密码保护连接到系统上运行的服务器?

java - 如何访问DataInputStream?

node.js - engine.io/wss/SSL/HTTP:如何配置?

c - 如果无法获得Websocket连接,则退出应用程序的逻辑

PHP - 使用有效的访问 token 通过 Graph API 在 Facebook 上发布视频

php - 如何使用 Laravel 将附件文件发送到电子邮件

php - golang S3 客户端库是否具有获取 Iterator 函数来检索 S3 存储桶中的所有对象

java - 如果只有一个客户端并且需要完整的对象读取,则Java NIO的优势