0

以下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。

这种奇怪行为背后的原因是什么,我该如何克服呢?

任何帮助深表感谢。

4

1 回答 1

1

我在 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。这对我来说可以!我希望你能享受它。祝你好运!

于 2013-07-05T01:44:26.370 回答