如何在没有 shell 命令的情况下运行 websocket

Posted

技术标签:

【中文标题】如何在没有 shell 命令的情况下运行 websocket【英文标题】:How to run the websocket without shell command 【发布时间】:2016-01-06 05:07:39 【问题描述】:

我正在构建一个实时消息系统,并以这个http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket/comment-page-1 教程为例。

在我的本地 PC 上找到了。我有一个共享服务器,但托管服务提供商不允许我访问我服务器上的 shell 命令。

谁能帮我解决这个问题。有什么办法可以在 PHP 文件中执行这个 shell 命令?

【问题讨论】:

【参考方案1】:

你可以像这样从 PHP 启动 web-socket:

 exec("php -q ".your_path_of_directory."/server.php >/dev/null 2>&1 &");

【讨论】:

感谢您的回复。你能详细说明一下吗? 你必须创建一个在你的 web-socket 页面加载时调用的函数。并在其中定义此代码。因此,当您的页面执行时,它将执行其 shell 命令。这样你的 web-socket 连接就可以建立了。 如果他们在共享主机环境中,exec 命令几乎肯定会被关闭。如果它没有关闭,那么托管服务非常不安全,您希望尽快离开它们以保护您的数据。万一他们的共享服务器允许 exec 并且是安全的,那么他们绝对不会批准 WebSocket 服务器,而且提出问题的人甚至可能违反了他们的服务条款。真正的答案是:获取 VPS。

以上是关于如何在没有 shell 命令的情况下运行 websocket的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用“sh”或“bash”命令的情况下运行 shell 脚本?

有没有办法在不等待命令完成的情况下使用 shell_exec ?

如何在没有 Spark-Shell 的情况下从 AWS 控制台运行 Spark jar 文件

如何在启用 Mac App Sandbox 的情况下运行 Shell 脚本?

如何在脚本中获取进程ID

如何使任何 shell 命令的输出无缓冲?