php - PHP手册中的“进程ID不是唯一的”是什么意思?如何获得实际唯一的“进程 ID”?
问题描述
来源:https ://www.php.net/manual/en/function.getmypid.php
警告进程 ID 不是唯一的,因此它们是弱熵源。我们建议不要在依赖安全的上下文中依赖 pid。
“进程ID”怎么可能不是唯一的?我错过了什么?而且getmyuid()
同样荒谬,因为它没有返回任何有用的进程ID,而只是:
获取 PHP 脚本所有者的 UID
简而言之:我如何从运行它的地方获得当前(CLI)PHP 进程的某种唯一 ID ?
解决方案
PID 不是唯一的。如果一个进程死亡,操作系统可能会将该 ID 重新用于新的进程。这不是 PHP 的事情。
如果要生成唯一值,请使用uniqid()
https://www.php.net/manual/en/function.uniqid.php
如果你在 linux 上,你也可以uuidgen
在 backtics (``) 中使用:
var_dump(`uuidgen`);
推荐阅读
- python - 阅读美丽汤的链接列表
- python - for循环中不同键的值输出相同
- javascript - 如何从给定的对象数组中获取这些对象数组?
- apache - 一些重定向怎么可能不起作用?
- sql - 查询会是什么?
- excel - 具有过滤行的结构化引用表公式
- jquery - 如何在jQuery中设置绝对位置
- android - AltBeacon 库中的 ScanPeriod 和 BetweenScanPeriod 是什么意思?
- visual-studio-code - 如何使用键盘快捷键打开和关闭 VS Code 扩展?(它有一个内置的开和关设置)
- prolog - 为什么无法运行此代码?什么是 ECLiPSe-clp 中的“语法错误:预期的后缀/中缀运算符”错误