我有一个index.php脚本,用作Google Code网站上的提交后URL。该脚本将克隆目录并构建可能需要进行一些工作的项目。我想避免让此脚本并行运行多次。

如果 session 中已有另一个脚本,是否可以使用一种机制来避免执行该脚本?

最佳答案

您可以将flockLOCK_EX结合使用以获取文件的排他锁。

例如。:

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

// ... do stuff

fclose($fp);
?>

对于5.3.2之后的PHP版本,您需要使用
flock($ fp,LOCK_UN);

关于php - 如何确保只有一个通过Apache运行的PHP脚本实例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7018844/

10-12 17:23
查看更多