如果我已经通过 exec 在后台运行代码 在里面我呼叫另一位执行官。
可能吗? 如果是的话,是否需要特殊权限?
我遇到的错误(我怀疑其中嵌套了 exec):
exec() has been disabled for security reasons
常规执行已启用并有效。
从技术上讲,您的 exec 中可以有一个 exec,但看起来您正在使用不同的配置。通常 PHP 必须有不同的 php.ini 文件集(Apache 和 CLI)(可能被配置为完全禁用 exec 功能。
我假设您的第一个 exec 调用来自 apache,然后它在命令行上调用 php 脚本。第二个似乎有不同的配置,因此不允许 exec 调用。所以最好看看/etc/php,是否有不同的php.ini设置。
能否分享一下你的代码....不看代码很难确定是否有问题。 如果您有权使用
exec
,那么在另一个 exec
中使用 exec
应该不成问题。
这是您的本地主机还是共享主机?出于安全原因,大多数共享主机都会禁用 exec。
在 Windows 10 上使用 Apache 2.4 和 PHP 8.3 作为模块运行时也存在同样的问题。
proc_open()
在 Symfony 内部代码由 proc_open()
启动的脚本中无法正确完成。