簡體   English   中英

調用shell_exec顯示來自php的奇怪行為

[英]Calling shell_exec shows weird behavior from php

下面的PHP代碼工作,我得到輸出:

<?php

echo 'hello world';
echo shell_exec('ls -la');

?>

// Output
hello worldtotal 2064 drwxrwxrwx. 3 root root 4096 Jul 4 10:26 . drwxr-xr-x. 4 root root 4096 Jul 4 10:17 .. -rw-rw-r--. 1 arun arun 2089447 Jul 3 11:09 cakephp-cakephp-2.3.6-0-gd10df32.zip -rw-r--r--. 1 root root 32 Jun 18 18:01 info.php drwxrwxrwx. 7 arun arun 4096 Jul 3 12:23 nykkos -rw-r--r--. 1 arun arun 76 Jul 4 10:26 test.php

以下代碼不起作用:

<?php

echo 'hello world';
echo shell_exec("java -jar /var/www/html/nyk/app/webroot/Converter.jar $id");

?>

它只顯示空白屏幕。 即使在上述php代碼中使用簡單的java -version,也會出現空白屏幕。 甚至“ hello world”也不會被打印出來。

鑒於以上討論的Java命令可以正常運行,而終端沒有任何問題。 我的操作系統是fedora。

這種奇怪行為的背后是什么原因,我該如何克服?

任何幫助深表感謝。

我在OSX上使用MAMP時遇到此問題。 我認為應該是同一問題。 嘗試打開MAC中MAMP / Library / bin / envvars上的文件envvars。 嘗試注釋if和else的四行。 這看起來像:

#if test "x$DYLD_LIBRARY_PATH" != "x" ; then
#  DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
#else
#  DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib"

不要忘記重置Apache。 這對我來說可以! 希望您能喜歡。 好幸運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM