如何通过 PHP 脚本运行 cmd 命令来初始化 Websocket 服务器?

Posted

技术标签:

【中文标题】如何通过 PHP 脚本运行 cmd 命令来初始化 Websocket 服务器?【英文标题】:How to run cmd commands via PHP script for initialize Websocket server? 【发布时间】:2020-09-16 07:44:29 【问题描述】:

我在我的项目中使用takielias Codeigniter websocket 用于通知目的,首先我是 websocket 握手连接和 WS 协议的菜鸟,这里所有的东西都按照 takielias github 页面文档工作,毕竟在他的 git hub 页面中设置,需要运行cmd命令来运行服务器客户端连接命令是php index.php welcome index在项目路径中运行此命令后websocket连接被切换并且在我的本地一切正常,在服务器上上传后我无法运行这个手动命令,

所以我需要帮助,运行该命令并执行套接字连接,然后我决定通过 php 脚本运行该命令,但如果有任何其他可能的方式,我无法在本地成功执行该命令要与客户端建立套接字连接,请帮助我,

非常感谢您的帮助,

【问题讨论】:

请使用正确的标点符号(句末用句号代替逗号)。您还应该以大写字母开头每个句子。现在,所有的文本基本上只是一个巨大的句子,这使得它更难阅读。另请阅读How to create a Minimal, Reproducible Example 和How do I ask a good question 并相应地编辑您的问题。您需要添加所有相关代码并解释问题(实际发生的情况、潜在错误等) 现在你能理解我的问题了吗? 抱歉,如果你连尝试都懒得让问题更具可读性,那我就出局了... 请给我一个解决方案,如果你能理解我的问题,我真的很挣扎...... : - ( 【参考方案1】:

据我了解,您需要通过 php 脚本执行命令。您可以使用shell_execexec 来执行此操作。 在此处查看文档:execshell_exec

示例:shell_exec("/path/to/php /var/www/html/index.php welcome index '".$parmeter1."' '".$parmeter2."' >> /path/to/logs/welcome.log &");

如果你想在后台运行命令,那么将 & 放在最后很重要。

脚本路径后用单引号括起来的额外变量是可选的。如果不需要,您可以省略它们。

【讨论】:

是的,我知道使用那些函数来运行命令,你能解释一下或者给出代码来执行“php index.php 欢迎索引”这个命令 @Eibs 我添加了一个示例。 感谢您的帮助,但是我如何在托管服务器中使用它,我给出的路径是什么,有没有办法获得动态路径 @Eibs 对于脚本的路径,您可以通过打印$_SERVER 来检查“DOCUMENT_ROOT”,对于 php 的路径,您可以使用 whereis php 在命令行中检查通常是 /usr/bin/ php 当我运行 whereis php 时,它返回“whereis 不被识别为内部和外部命令”

以上是关于如何通过 PHP 脚本运行 cmd 命令来初始化 Websocket 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在命令行界面Windows操作系统中运行php脚本

如何通过命令行运行 php 脚本(并在注销后保持运行)

如何从 cmd(DroidEdit,终端)运行 android qpython 脚本?

如何通过Linux命令行使用和运行PHP脚本

将 python 脚本作为命令行变量运行

如何让Python脚本在cmd下执行