我会使用 json_encode():
存储 PHP 数组的首选方法(json_encode 与序列化)
TLDR?json_encode() 可能存在一些问题:
- 默认情况下, json_encode() 将 UTF-8 字符转换为 Unicode 转义序列,而 serialize() 不会。注意:要保持 UTF-8 字符不变,您可以使用 PHP 5.4 起的 JSON_UNESCAPED_UNICODE 选项。
- JSON 将不记得对象的原始类是什么(它们总是作为 stdClass 的实例恢复)。
- 您不能将 __sleep() 和 __wakeup() 与 JSON 结合使用
- 只有公共属性使用 JSON 序列化
- JSON 更便携
但是,如果这些都不是您的用例的问题。它比 serialize() 快 100-150%。(当您解码字符串时,您的 Google_Client() 类将转换为标准类)。
// Script that kicks off the background task
$aArgs = array($client, $token);
$sArgs = base64_encode(json_encode($aArgs));
exec('php myscript.php '.$sArgs . ' > /dev/null 2>/dev/null &');
// myscript.php
$sArgs = json_decode(base64_decode($argv[1]));
// do something with $sArgs here...