我的机器上安装了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 回答
如果这是共享主机,您可能需要与您的托管服务提供商联系 .
如果您可以访问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
!我通过命令提示符将apache作为服务安装,并且jar文件没有启动 . 当我卸载apache作为服务,并手动运行“httpd.exe” . jar文件出现并执行 . 我只能在那台机器上执行它们,我仍然有问题试图在客户端机器上执行它们 . 我已经走了使用java webstart的路线,它似乎更容易部署和使用 . 谢谢