首页 文章

apache设置阻止php exec()执行

提问于
浏览
1

我的机器上安装了apache 2.4.12和php 5.5.21 . 我正在尝试使用php exec()来执行java jar文件 . 当我将php程序放在apache htdocs之外的文件夹中时,它会打开并执行jar文件而不会出现问题 . 当我从apache(在htdocs)文件夹中运行相同的程序时,没有执行任何操作,并且Web浏览器只是处于加载阶段(浏览器挂断,最终只会超时) . 我想我已经看到了每一个例子,无法确定问题所在 . 这肯定是一个权限问题;我只需要指出正确的方向 .

Echo shell_exec(“whoami”);给我“ntauthority / system . 当我去服务并将apache登录更改为管理员时,没有任何反应 . 我在尝试执行时已经读取并执行了jar文件的权限 .

2 回答

  • 0

    如果这是共享主机,您可能需要与您的托管服务提供商联系 .

    如果您可以访问Apache中的 httpd.conf ,请编辑该文件,CTRL F并确保将 safe_mode 值设置为 Off . 如果在文件中的任何位置都没有看到 safe_mode 设置,请添加以下行:

    php_admin_flag safe_mode Off

    确保"O"大写! (Source)

    如果这不是问题,请确保 php.ini 文件中的 disabled_functions 不包含 exec .

    如果这不是问题,请尝试查看 php.ini 是否包含 safe_mode 变量 . 如果没有,请添加以下行:

    safe_mode = Off

    同样,如果文件有 safe_mode 变量,请将其设置为 Off

  • 0

    我通过命令提示符将apache作为服务安装,并且jar文件没有启动 . 当我卸载apache作为服务,并手动运行“httpd.exe” . jar文件出现并执行 . 我只能在那台机器上执行它们,我仍然有问题试图在客户端机器上执行它们 . 我已经走了使用java webstart的路线,它似乎更容易部署和使用 . 谢谢

相关问题