![CLI PHP 脚本给出“错误:访问注册表时出错。”](https://linux22.com/image/1605353/CLI%20PHP%20%E8%84%9A%E6%9C%AC%E7%BB%99%E5%87%BA%E2%80%9C%E9%94%99%E8%AF%AF%EF%BC%9A%E8%AE%BF%E9%97%AE%E6%B3%A8%E5%86%8C%E8%A1%A8%E6%97%B6%E5%87%BA%E9%94%99%E3%80%82%E2%80%9D.png)
我编写了一个 CLI PHP 脚本,它可以执行以下操作:
<?php shell_exec('reg import OneDrive.reg');
(OneDrive.reg 禁用 OneDrive 癌症。)
与昨天相比没有任何变化,但突然出现:
ERROR: Error accessing the registry.
昨天以及之前的许多天,它却说了类似这样的话:
The command finished successfully.
什么?这怎么可能?我什么都没做,它还是一直坏着,我什么也没做。
如果我费力地完成手动打开 cmd.exe“以管理员身份”所需的数百万个步骤,然后键入“cd”并将目录复制并粘贴到相关目录(由于某些荒谬的原因,拖放它不起作用......)然后键入“php test.php”,它会执行零输出。没有错误消息。没有成功消息。
我真的不知道该如何解释这一点,但即使是最初起作用的东西也会突然无缘无故地停止起作用,这确实让我很困扰。
答案1
我无法解释为什么它以前可以工作并且现在可以工作,但听起来运行 PHP 的帐户没有足够的权限。
我不知道您使用的是哪种操作系统等,我只建议在 IIS 上运行 PHP 的 Windows。在这种情况下,我会尝试:
1) 选择或设置具有管理员权限的新用户。2) 将运行您网站的应用程序池上的身份设置为“自定义帐户”,并为管理员用户提供凭据。3) 刷新应用程序池
这为我解决了问题,但让这样的特权用户为您的 PHP 提供支持可能并不是理想的选择。