[英]Running shell_exec('which java') in PHP return nothing
如果我跑
which java
從命令行我得到正確的輸入(/usr/java/.../bin/java)。 但是,如果我在 php 腳本中運行它:
<?
echo 'java. ' . shell_exec('which java');
echo 'ls. ' . shell_exec('which ls');
?>
沒有打印出哪個 java 但我得到了哪個 ls 的正確結果...
需要做兩件事:
例如:
echo shell_exec('/usr/java/jdk6/bin/java -cp myJars.jar MyMainClass arg1 2>&1");
我也剛遇到這個問題。 我試圖確定qrencode
實用程序是否安裝在(任何)服務器上,如果沒有,則正常登錄/警告/退出。
考慮到程序應該始終在標准路徑中,我在which
命令前面加上了二進制文件的可能位置,同時仍然考慮到$PATH
可能以某種方式在系統上定義。 我認為您也可以將這種方法用於常見的 Java 路徑:
shell_exec('PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" '.
'which qrencode');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.