我相信一旦腳本或會話結束,globals和superglobals就會死亡。在PHP中存儲會話間變量的最佳方式是什麼?換句話說,我希望每個會話都有權訪問變量。 (這將是一個布爾值,用於同步對服務器資源的訪問。)除了將值存儲在文件中之外,是否有解決方案?這將是很好的保存在內存中的變量...PHP中的會話間變量
編輯:
我只是希望能夠做到這一點:
while ($beingused)
sleep(5);
$beingused = true;
// Do something
SOLUTION:
非常感謝你的幫助。這是我的解決方案根據您的輸入。
memcache_pconnect('localhost');
while (memcache_get('inuse') == 'true')
usleep(10);
memcache_set('inuse', 'true');
// Do something
memcache_set('inuse', 'false');
UPDATE
其實我結束了一個文件解決方案,會後所有。每次用戶與應用程序進行交互時,都會根據用戶輸入提供一個腳本,該腳本會發生變化。我意識到腳本文件的存在可以作爲布爾值加倍,正如許多響應中所提示的那樣。
什麼樣的資源?該資源是在用戶之間共享還是在網站訪問期間僅由一個用戶使用?一個價值千言萬語的例子。 –
嗯,這是一個在服務器上運行的應用程序。每個用戶將通過shell_exec()命令與應用程序的同一個實例進行交互。命令完成得非常快,所以碰撞很少發生,但我想確保這一點。該布爾值將指示另一個用戶是否正在使用該應用程序。如果是這樣,該腳本可能會等待幾毫秒,然後再試一次。 –
這還是比較模糊的。你在尋找*配置設置嗎? *數據庫*中的半永久入口? *信號量/鎖定/令牌*?這是用戶特定設置,機器特定設置還是全局設置? – deceze