我正在使用PHP腳本來閱讀收到我的應用程序的退回地址的電子郵件,並與他們做東西。該腳本計劃運行cron作業,但我無法控制它,並且我沒有權限在服務器上寫入文件(這樣幾乎消除了文件鎖定機制)。是否有另一種方法可以確保我只有一個腳本實例在任何特定時間運行?服務器正在運行linux。PHP:我該如何檢查一下php腳本是否已經運行?
2
A
回答
1
我想你可以試試這個:
// we use ourselves as the lock file
if (false === ($f = fopen(__FILE__, 'r'))) {
die("Could not open lock file");
}
if (false === flock($f, LOCK_EX)) {
die("Could not obtain lock");
}
// do your stuff
flock($f, LOCK_UN);
fclose($f);
你不需要寫訪問與諮詢鎖工作;這當然假定在您的配置中啓用了flock()
。
0
相關問題
- 1. 檢查magento是否已經運行cronjob
- 2. 檢查cronjob是否已經運行
- 3. rake檢查是否已經運行
- 4. 如何檢查ruby腳本是否在PHP腳本的後臺運行?
- 5. 如何通過我的PHP腳本運行一個PHP腳本?
- 6. 檢查一個特定的Python腳本是否已經在運行
- 7. 如何檢查php-fpm是否已安裝並正確運行?
- 8. 檢查腳本是否通過PHP在Apache上運行
- 9. 如何檢查PHP數據庫中是否已經存在url?
- 10. 如何檢查服務器是否正在執行PHP腳本?
- 11. PHP檢查表單是否已經使用num行提交
- 12. 如何檢查CABasicAnimation是否已經應用並運行?
- 13. 檢查如果PHP進程已經運行
- 14. 檢查是否python腳本運行
- 15. 腳本來檢查IIS是否運行
- 16. 如何讓php腳本運行另一個php腳本
- 17. PHP:檢查腳本是否與sudo一起運行,或者用戶是否使用`php`
- 18. 如何檢查一個類的對象是否已經存在於PHP中?
- 19. 如何檢查rufus-scheduler是否已經在運行我的Rails應用程序
- 20. 標題在運行php腳本時已經發送錯誤
- 21. 我該如何檢查我是否已經排隊完成任務?
- 22. 一個PHP cli腳本可以檢測到另一個PHP cli腳本是否正在運行?
- 23. 我如何檢測php rename()是否已成功執行?
- 24. 如何檢查一個鏈接是否已被點擊在php
- 25. PHP不檢查MySQL數據庫中是否已經有記錄
- 26. 檢查內容是否已經用PHP發送
- 27. PHP - 檢查索引是否已經存在於SQL中
- 28. 檢查時間是否已經越過PHP
- 29. PHP檢查電子郵件是否已經存在
- 30. 確定ruby腳本是否已經運行
你不允許寫'/ tmp'?真的嗎?什麼'sys_get_temp_dir()'給你,你可以寫在那裏? – Wrikken 2013-03-06 13:40:43
Memcache,Redis,地獄 - 如果必須的話,甚至MySQL。您無權訪問_ANY_數據存儲引擎? – 2013-03-06 13:43:40
是否有'posix_mkfifo'選項?它優於memcached,APC和co。它是默認啓用的。 – Jon 2013-03-06 13:45:59