簡體   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