2013-07-04 4 views
0

Следующий код работает PHP, и я получаю выход:Вызов shell_exec показывает странное поведение с 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"); 

?> 

Это просто показывает пустой белый экран. Даже простая java -версия, используемая в приведенном выше php-коде, дает пустой экран. Даже «привет мир» не печатается.

Принимая во внимание, что описанные выше java-команды работают без каких-либо проблем с терминалом. Моя ОС - Fedora.

В чем причина этого странного поведения и как я могу его преодолеть?

Любая помощь очень ценится.

+0

любые идеи по этому вопросу? – user264953

+0

Похоже на вопрос о разрешении. – devnull

+0

no..пересылка 777 – user264953

ответ

1

У меня была эта проблема с использованием MAMP на OSX. Я думаю, что это должна быть та же проблема. Попробуйте открыть файл envvars, который находится в MAC на 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. Он отлично работает для меня! Надеюсь, вы сможете наслаждаться этим. Удачи!

Смежные вопросы