且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何确保我只有一个通过 Apache 运行的 PHP 脚本实例?

更新时间:2023-11-22 19:55:28

您可以使用 flockLOCK_EX 获得文件的排他锁.

You can use flock with LOCK_EX to gain an exclusive lock on a file.

例如:

<?php
$fp = fopen('/tmp/php-commit.lock', 'r+');
if (!flock($fp, LOCK_EX | LOCK_NB)) {
    exit;
}

// ... do stuff

fclose($fp);
?>

PHP 5.3.2 以后的版本需要手动释放锁羊群($ fp,LOCK_UN);

For PHP versions after 5.3.2 you need to manually release the lock using flock($fp, LOCK_UN);