2015-02-10 65 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的路線,它似乎更容易部署和使用。謝謝