php exec 内部 exec / 嵌套 exec

问题描述 投票:0回答:3

如果我已经通过 exec 在后台运行代码 在里面我呼叫另一位执行官。

可能吗? 如果是的话,是否需要特殊权限?

我遇到的错误(我怀疑其中嵌套了 exec):

exec() has been disabled for security reasons

常规执行已启用并有效。

php apache permissions exec
3个回答
1
投票

从技术上讲,您的 exec 中可以有一个 exec,但看起来您正在使用不同的配置。通常 PHP 必须有不同的 php.ini 文件集(Apache 和 CLI)(可能被配置为完全禁用 exec 功能。

我假设您的第一个 exec 调用来自 apache,然后它在命令行上调用 php 脚本。第二个似乎有不同的配置,因此不允许 exec 调用。所以最好看看/etc/php,是否有不同的php.ini设置。


0
投票

能否分享一下你的代码....不看代码很难确定是否有问题。 如果您有权使用

exec
,那么在另一个
exec
中使用
exec
应该不成问题。 这是您的本地主机还是共享主机?出于安全原因,大多数共享主机都会禁用 exec。


0
投票

在 Windows 10 上使用 Apache 2.4 和 PHP 8.3 作为模块运行时也存在同样的问题。

proc_open()
在 Symfony 内部代码由
proc_open()
启动的脚本中无法正确完成。

© www.soinside.com 2019 - 2024. All rights reserved.