CINXE.COM
Just a moment...
<!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="robots" content="noindex,nofollow"><meta name="viewport" content="width=device-width,initial-scale=1"><style>*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}body{display:flex;flex-direction:column;height:100vh;min-height:100vh}.main-content{margin:8rem auto;max-width:60rem;padding-left:1.5rem}@media (width <= 720px){.main-content{margin-top:4rem}}.h2{font-size:1.5rem;font-weight:500;line-height:2.25rem}@media (width <= 720px){.h2{font-size:1.25rem;line-height:1.5rem}}#challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+);background-repeat:no-repeat;background-size:contain;padding-left:34px}@media (prefers-color-scheme:dark){body{background-color:#222;color:#d9d9d9}}</style><meta http-equiv="refresh" content="390"></head><body class="no-js"><div class="main-wrapper" role="main"><div class="main-content"><noscript><div class="h2"><span id="challenge-error-text">Enable JavaScript and cookies to continue</span></div></noscript></div></div><script>(function(){window._cf_chl_opt={cvId: '3',cZone: "stackoverflow.com",cType: 'managed',cRay: '8e72f1b2dd71ce49',cH: '0DlazPrDWlFAuT1SZqTVUzCJHWDjk3oVpoiGO.taMQs-1732383624-1.2.1.1-p_SFzkFdvq9Qfxu6jgZT28U6hRZe.H2i7WZ7Me5Vo1tvx1z2oPELVm9anzL2jRl9',cUPMDTk: "\/questions\/tagged\/google-cloud-firestore+php?__cf_chl_tk=cEW2gH25d.kAtjAyT9_.iYbSS8o0uDjPvMqixR_Kn5w-1732383624-1.0.1.1-ZMbnm4OkIRY8n6Wn85gdNhN2KY.8DJpUib4JQaHADfc",cFPWv: 'g',cITimeS: '1732383624',cTTimeMs: '1000',cMTimeMs: '390000',cTplC: 0,cTplV: 5,cTplB: 'cf',cK: "",fa: "\/questions\/tagged\/google-cloud-firestore+php?__cf_chl_f_tk=cEW2gH25d.kAtjAyT9_.iYbSS8o0uDjPvMqixR_Kn5w-1732383624-1.0.1.1-ZMbnm4OkIRY8n6Wn85gdNhN2KY.8DJpUib4JQaHADfc",md: "0pUCsSluh2l78Mf7kv7BlYqi0D_EpOxx6XsUyKsWmos-1732383624-1.2.1.1-CN5FvBa7U4Zuf4vjyJwHbIlvXfe1vSYRKizSicMDOMCyO2MbxtfleKDFfLQUrCqjq4ipvOjCU76BI.7Hn1nBwLDULYujv09WNEpWinP6CjlhQDQ73dyWWDYXgrvUbu4IKnfASIuHRHtbEnFH6d_TTSkmTStKbZMRvSd2JyI7xS.2GToE1J7Ftfd9MhSXYVt67ljAAiz1ljskL0jViQBrBTK2XBL1aX17fHobi5b2fGz36UOmrsEO5vS_KJtPL4Q850nskC_a60ffA6ThHXCx1ZW0GG7VR6MNVv0XKLmMoed26ZGJBdg64xIOS5IwaqF2rkx6RAPwVJHoW_wca79rPv2k9AgnSIN.RmAdFDzCSLo66VLCjsHekjzUKoqSZN6un.hYwX59IFOkWOwW6ltFZycbm59fTxHtS4p4LBkfScWBZ50qYRDRLt02GlrNfPpMHqWsHT_WZiWHnCa7ms35yEU.Jd_Q76yIMZTD0T7BKb6B1fc5CHafYFnSMweMroOFSnSH01XYosdDoxMg2Uz86vMLJyrPZSEeQCOTyO6HwaOvInQ5hCMEKhlzrI0h34Co1_yQvGdcRNAqUMBF.xUZfFgDHLvJqqjZLdKOaF8WU4MavudhDFKQPjqY.S5VXgkmWxIQc6RE3gljk3e06cdLr4GFEXgm915woOY4JthmXybK9bSlVqLiKZBIsjxbxhMjBlnd6t1jNwBXQj154nNUY.H9RwMo8ZQByOCk5j06pZ4IFKNtUTCPUDzJYU53UG3mBDxqsdIPNst3mVlU0ziOy3UTdBjtdjYplLlC.TVh7RvMlpumgozyXdKEdjcAg5r9Oa4eR3fJrg19yd1roBTw5e7wMv.Wj1mmRkRYdzMLGPpFCwrbrSLuvjMcG1ocTBuVJco0.3NcQKeW6jHbsQhqMtDQZRZWt6WhYaVm6nuRAb28NEQAnXFkVMGoHCQbL2iwqcNTSCqeFhaPXfb5qY8Asq891ThpFAbuLl75_Yrc7hbZJ3nL17hhTbYyVH8_IxTN1IEOttmOrH422HVS19HXNmKeuwWaRcmoc9ar6ZhGchaaNfMvkVwgdP.3g3mqsTqYzCu1tdLyDW02q3ME.zbUWg9sz7slOvJ9hIB9abvDgyinqRqVF4Vwgd039MW4efaajeLYppNlJ7ybpM3H87FToxffNTV39IaiokTrNhn4SfCGvJxWtjXtmcitsA_x3VLFvISTxYU8aqJKZhnVVFIrNV6LmhLNOXkgQS5OAek5CiI3l8jdcsGxTUR0ZG9RS16d7wdmf8SvBQAA68Kcw7Y.p3VINMY9b5O4mLLnXgJPlrVkLcaNf2WCV6XuFyczC0mypRP3XPVyJDgjjtdnCrpzTRcvTH9d3JfDNevG75jPgS_iD3mKDWzsBABBoZBP30Aws8_EENSzf1AFBH7byZuLr4Fkqf7kAQ7O1Zw5oQ0EkELqW97ax2RZO7OerG9MVzCFgsB1.duuVSSfdUDM_vB6_iB1ynvirbI5zoGe0xs9RfBsepTdW.wjeJWaFlwcY38vUFAFO1V.88DLIzZXBD5z5UcekynWB6LdQ.MwCbhfyDSmfJs1edjaFfzcwIrDi9crtYQ8PzgZFjOrZsgBr99txP8cLQtvle7twdd0MmaIsdWGA.ob5ULUfXCQlwhRc9k3nqQD9lTMO0MBnBwrxWveFhwd06qJucV.TbaXe2ROU52t5shmKUj0Yw3__KVNplQN3l4813UtX9.FZDwOeTBlFsebY1O0A4nQud13q_IEeaBXX0jaiID1NRnvMpDEL2GojW9NLhjqBPuWzXZ9gH63IYuTCLdPZpvc3PRwU_wBUZ0haMc8e9e8tSS14ZozRSVMRXr6tUMNNuYFJW2_7QYcASPuX9tWHz5QFFAy3YiHEdUDKeqwkFc36TffOA3loDaqQsp.vn_GdOS.AgH1olg4upgjE4GF.sz2dZbOovqysS29gqy1.1U1GA7JE9VpaLEmDBGxK6Ckw3Bb1zjJmo1oz5atUIKYRoJBlHSiaIWRW3wzYFIlVTlNjph1tn.SNB7ppa.z4KuzOcNwvRs8GTNrcZ6MEwTNFszC0kxNpSTSgL.4pl9JPvuHcyCHK7fD309xoY54zDdsLdMTaoCMLI3GjXz5QBsEPn.LtwJAJ5j.gCdpnVVd2sjwiKDNQfvcCMDk9hNgmSWlFifol0.CSpQAfQ5JKwxSdKbVoCAhoT9n9wzxtKSE5B6hZEeV5u.2LfvH.2k3_ivBIKKl5_qO1Ykf3K.C60_Mf3hVQxHQ7vTMQSqh25QXQ74z8a__VFeqpjuD1U42eltSD3ay3YoBvbePHZrmOnBTK6sedZnzT5YyhkMNvZCX1H39hF0Ey.YYIpo39h8AB8qdlly27zk2NyqAWeHs8V4yWYaebxN151dmLmd7HjHrCwNcFSDiPzf0Tz0VsINGOi49V3btA6BH9iAiLbh4MWDdGw2HygVsuvjK1j34UB.w7pKCRe1SXkXmYMvNGJbxbpZ80fq85Hgx9tGw1OdNXYDd_TG2vrj.k4jpwruPRbDj3zYArpQzuy_bOYg._t9lIRi9FhB.FvZowgP.qCxal1NAN6pD7QL5CUySCMI.iVpB_nWHV0DWCmgA3vJnUuP3NLbngwafhzchGQaF7BkIx6zVeHStsKSRau1Nb3N1HCdqepgBMQ3W2lkfrNFWSQefsi6c3tG8lFhzh7yRjkrQGBhXklRjxPzGO3y4oblO0Qqh1NjWR9YjaU.rpvWTN86oUol_srmX3sRW95Umfkt0Aw_8MZiVCF8raEPdFpSY3l1MuRJu5O7qBFHNez.AGgIuwmjVnoc0ZYwYetXFqd3VLQH08RutIGHCMBbN37U4ttsX4TLlVUPj6RFcUICeDqCEcKMqCrKy_9xhg1K4g.6vQsfgVB_moFyhUnaLGnDw3scKTcGV7eJ5rfhHDHSX9LM99mk1KChRGjlqhLgt.bzIvAREE_U7ud2P4jPOvwKpaLwiCpj0iA8BfGlM_vOY",mdrd: "odpCtR7bgIRFmreqYYPMh7P8gPIuq4z57OTEOnhaDBA-1732383624-1.2.1.1-cYi4502StZj2k9nzQPLSazDbO_YTx.1h4jUWPKWKdCN0ztKdZ.SHo42cqxbfFcyS9SPEbKP58tTeWDShyElmEjItJiu6JW9Gqx5JSDMlIQpd1TpGb0CWqsH0al8zGbypyKKhX6iWbm78ETc3ee2thU_QCeB5q.aP.kI0OTo0mKI2yecb.xSE0szMOZmE5TCV0EP20E9vVglgkA6VaCHVjxabVHUe09u9CeiF19noG3Q7w5OqKoJViixjRPdwhXab3IYm6zyGJohvZFv5jThvWSbXWGYg7TeMQylh.kZWhgJoN53Ry4grFuhkuDEJ0dlfzbAWXXyiknYlfV9MnFrMB21XFB57PHWeTZNLWFcJq7NlVm8IqNtNYub24fFCzWy_3JDUWMJNjnvwtxzhU8I2OwYfUqd2T1lvg8m42wyvxvYX_7N9L6vqI6E0LTKjYWLoy8wHOUSzucTrAvx9Hol_.smWJpN79FZFK0XXV6EZKx0yqBXfyJF2z.5vHa1BTsKDHtOdbg_G3ru4R5wx1GCbimtkzn3CFbYg32GqAL5jFSOKCKUV5HcH_d9xPxGl4212IG3lioI_1.I.jhuGtrFlhf.PN9WajQ_8TmZDgbe_14B8k8WNrAdMPzHnYO2Cys1HBO.ydk__W.4IbfMpWC4BVxm.ilztWuCz4ZRbpyQeABlDHpO6cSx6Zx6BFkSM2VD4jHZKthmUw8VF6nAaGa4TQEa3QW27nlPxF4s3EXah8BAbt64_O9HdKcStssv4qml05eAmhyxmyGLlEjQzywoIuWwmkx5XRTJPXbM7Y_ESxV.zun4boz7bUdctoHmunlejy.4K7GWqzFqlvbUKZsI_PCa58lhtAb5gZP3QOg5xyXAvKHORLRAdvAQIQKwcEIdEn0dIwpEjUqhlduMilSmXTdVC2oyPyt.5cCULzzcV.LF7a5oepxO6lS4jWKEAQuru93gwN_.coe25BOnpWM4djWRitN43QyKlY.D67r49u3y.viNQLJwTCbkHMDFnEhcU5VFpge4r4Si2aBJ0IJXsgIlICM5mLtNm8pPl1WU_spsXe4TpKJwGIeAbIpkv_sfat8E81BGtLhz.ycy7LD2k.Kf14hHhYCtGj0G2wkLP6fuWACqcf0WpUaZ15QPb1LF3oCYn5iGzgQXKndYl2EvL.Np2cMe7oxuc8zAkFMX3Amgq5E6ktooRRjoNFmsJB.jpjgxSaxJ1iwnnlHmWlwJrLi.j8nEujeYySLgTtDoD4d1uOu4m8CfF1TB.Fg7xWypor32qLTgtPYYg8AWb0kC8fGoTLryzqndpoxn1.FF_Xekfh9ijYYl.l4LEnd8aP4aWy8I1HZJisUVDZ4MTByG9Wr1k_m7s3XpLPpcubjyappk2LKo37u.uzAIVN.IY3KeIUwoZnb1WwxciRYfPR8SWHxq.dMTtoDO3VRFLH7IG6guQFznSRAN2QW6jd9jrJmIwQ4GLz3n1zv8hHG8_wKuUbGUfBa._rp39BcECusrwA7aJZaBIWoLg1J2EYHS2G0mbh7fA8.c_reeXpJHbQ2JoT8jSY.gmr7R3owIJBOjGVBeMMdw9SaM2cX7S.QTR14rskrtrajA35xSbBvJ0GAgJXEo7Fkoa53XKBro1I7OExTZfCrFQJxhnHrW3rEyvdr8T0J90_ZwpB49eGHGiMd.TlCx5HaPGj9XcEmrYOj0Cf1K6.JsB.OC79RYA6UDkXSO7dHo6KWwHxZB6Qa9Z1WNwwbgm8_bUZG8iXz29q70Xnf8Tq2590WSa9MoQOF.C78iZCxPoGk.ES7AvvV5SLeHswvFhunWW.hS.vOKuXcVnVwI.wGIGOjHFzOlkAAydsOjHiuk7dn.zIR.Up1CZYpiRmS6ux08mEh55mI9nI63pqk1gL1SXgDtzJvuuSpZt58cjVB7ck3mWxEPi8pexksx7e4AZymcLAlQlucVTCA0IYpGTX2MaeceyFJGHg97c4k4N"};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/g/orchestrate/chl_page/v1?ray=8e72f1b2dd71ce49';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null, "\/questions\/tagged\/google-cloud-firestore+php?__cf_chl_rt_tk=cEW2gH25d.kAtjAyT9_.iYbSS8o0uDjPvMqixR_Kn5w-1732383624-1.0.1.1-ZMbnm4OkIRY8n6Wn85gdNhN2KY.8DJpUib4JQaHADfc" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>