繁体   English   中英

如何实例化 PHP 对象并传递给 shell_exec?

[英]How to instantiate a PHP object and pass to shell_exec?

我有一个可能需要几分钟才能完成的 PHP 进程。 从我在网上阅读的内容来看,我认为处理这个问题的正确方法是我应该使用 PHP shell_exec() 将这个长时间运行的任务传递给“at”并让长时间运行的任务完成。 然后,一旦该过程完成,将结果写入 dbase 或文件,以便稍后从 Web 读取。

但是,我需要首先通过网络从用户那里获取一些数据,以便继续处理 shell 脚本中的请求。

是否可以通过 Web 会话实例化 PHP 对象,然后将该对象传递给将通过“at”运行的 shell_exec()? 还是 Apache/PHP 架构不能那样工作?

如果是,如何将在 Web 会话中实例化的 PHP 对象传递给 shell_exec()?

谢谢

这取决于您要传递的对象。

如果对象只包含纯数据,则可以对其进行序列化。 PHP中有两个函数:

  1. https://www.php.net/manual/en/function.serialize.php
  2. https://www.php.net/manual/en/function.unserialize.php

第一个创建一个字符串。 您可以将此字符串传递给任何 shell 命令。 第二个将此字符串转换回对象。

有些对象过于复杂,不能轻易序列化。 PDO 就是一个例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM