【问题标题】:Running a program and sending arguments between pages运行程序并在页面之间发送参数
【发布时间】:2014-02-06 20:30:42
【问题描述】:

很想制作多个 PHP 脚本。一个将启动一个程序,另一个将向程序发送参数,第三个将获得程序的当前输出。这是一个正在进行的程序,所以我不能只有一个页面,因为它将永远加载等待程序完成。我将如何在一个页面上启动一个程序(它是一个使用命令:sh run.sh 的 shell)并在其他页面上继续访问该程序的同一会话? 澄清一下,我正在运行一个在命令行接受参数的服务器。会话是指程序的同一个实例。

例如,我访问“start.php”,它从服务器计算机的/server 目录中运行命令“sh run.sh”。然后我访问“command.php”,输入我的命令,提交给“cmd.php?command=command”,它发出命令,然后进入run.sh的运行进程。

【问题讨论】:

    标签: php exec


    【解决方案1】:

    要在命令行中保持 php 会话,您需要在首次创建会话时通过session_id() 保存 php 会话 ID,而不是在随后的每个 session_start() 调用之前使用 session_id() 将会话 ID 设置为保存的会话 ID,而不是您可以在命令行的多个脚本调用之间携带会话变量。

    不过,根据您所做的工作,使用 MySQL 之类的数据库在 php 脚本之间持久保存数据可能是一个更好的主意。

    【讨论】:

    • 这不是我的意思。我的意思是我正在运行一个服务器,我想在页面之间与之交互
    • interact with it between pages 到底是什么意思?你能举个例子吗?
    • 我的意思是我的服务器计算机上有一个程序,我想在一个 PHP 页面上启动它,然后转到另一个页面将命令行输入发送到程序的同一实例(程序是一个服务器)。
    • 查看this SO 帖子和有关命名管道的相关链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 2018-05-10
    相关资源
    最近更新 更多