PHP 获取唯一标识符:exec() 禁用解决方案

在 PHP 中,exec() 函数常用于执行系统命令,获取系统信息。但由于安全原因,exec() 函数可能被禁用。如果遇到这种情况,可以通过其他方法获取唯一标识符。

报错信息:

Warning: exec() has been disabled for security reasons

解决方案:

以下代码提供了解决 exec() 函数被禁用时获取唯一标识符的方法,分别针对 Windows、Mac 和 Linux 系统。

1. Windows 系统:

$unique_id = '';
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    $unique_id = $_SERVER['COMPUTERNAME'];
}

2. Mac 系统:

$unique_id = '';
if (strtoupper(substr(PHP_OS, 0, 3)) === 'MAC') {
    $unique_id = exec('ioreg -rd1 -c IOPlatformExpertDevice | awk -F' ' '/IOPlatformUUID/ {print $(NF-1)}'');
    $unique_id = trim($unique_id);
}

3. Linux 系统:

$unique_id = '';
if (strtoupper(substr(PHP_OS, 0, 3)) === 'LIN') {
    $unique_id = exec('cat /var/lib/dbus/machine-id');
    $unique_id = trim($unique_id);
}

注意:

以上代码仅供参考,具体实现还需根据系统环境和需求进行调整。

PHP 获取唯一标识符:exec() 禁用解决方案

原文地址: https://www.cveoy.top/t/topic/oRud 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录