以下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也会出现空白屏幕。即使是“你好世界”也不会被打印出来。
尽管上面讨论的java命令在终端没有任何问题的情况下工作。我的操作系统是fedora。
这种奇怪的行为背后的原因是什么?我怎样才能克服这种行为呢?
非常感谢任何帮助。
答案 0 :(得分:1)
我在OSX上使用MAMP遇到了这个问题。我认为它应该是同一个问题。尝试打开MAC中的文件envvars在MAMP / Library / bin / 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。 这对我来说可以!我希望你能享受它。祝你好运!