[PHP] shell exec 傳遞array參數

前言

在PHP中,有時候會需要用到背景執行的技巧

會利用shellexec的方式,另外執行一隻PHP

要傳遞參數也非常簡單

情境與狀況

但如果要傳遞一個Array呢?

先將一個PHP Array透過serialize字串序列化

並將字串透過escapeshellarg加上單引號

實際做法

$array_string = escapeshellarg(serialize($request_args))

把轉換完的字串帶入參數內

shell_exec('php Search.php ' . $array_string . ' > /dev/null 2>/dev/null &');

接著就跟一般收shellexec傳過來的參數一樣,將字串反序列化即可

unserialize($argv[1]);

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *