2015-02-10 67 views
1

我在我的机器上安装了apache 2.4.12和php 5.5.21。我想获得一个java jar文件来执行使用php exec()。当我在apache htdocs之外的文件夹中有php程序时,它会打开并执行jar文件而不会出现问题。当我从apache(在htdocs)文件夹中运行相同的确切程序时,什么也不执行,Web浏览器只停留在加载阶段(浏览器挂起并最终超时)。我想我已经看到了每个例子,并且无法确定问题出在哪里。这当然是一个权限问题;我只需要指出正确的方向。apache设置块执行php exec()执行

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

回答

0

如果这是一个共享主机,可能跟你的托管服务提供商。

如果您有机会获得在Apache中你httpd.conf,编辑文件,CTRL + F,并确保任何safe_mode值设置为Off,如果你没有看到safe_mode设置在文件的任何位置添加以下行:

php_admin_flag safe_mode Off

确保“O”是大写! (Source)

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

如果不是问题,请尝试查看您的php.ini是否包含safe_mode变量。如果没有,加入这一行:

safe_mode = Off

再次,如果文件中有一个safe_mode变量,将其设置为Off

+0

我在我的“C:\ Apache24 \ conf \ httpd.conf”文件的底部添加了“php_admin_flag safe_mode Off”。我没有看到我的httpd.conf文件中的任何“safe_mode”为apache。在我的php.ini文件中,禁用功能设置为“disable_functions =”,我重新启动了apache服务器,但仍然没有任何功能,它仍然挂在网络浏览器中? – 20goat06 2015-02-10 05:34:40

+0

你试过看看'php.ini'中的'safe_mode'是否设置为'Off'? – 2015-02-10 05:38:40

+0

php.ini有这样的一行“sql.safe_mode = Off” 我还在它下面加了“safe_mode = Off”并且重新启动了apache而没有任何东西 – 20goat06 2015-02-10 05:40:32

0

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