HTML не показывает символы

Я использую lighttpd 1.4.35 на Debian 8.2. У меня есть очень простой HTML-файл с php-кодом (php5), который вызывает скрипт bash и печатает вывод:

<html>
<body>
<?php
$res = shell_exec("/var/www/html/run.sh");
echo $res . " is the result";
?>
</body>
</html>

Если этот HTML-файл вызывается в Firefox, вывод

 is the result

Если я напрямую запускаю php с этим файлом (php index.php), на выходе

<html>
<body>
13.00
is the result</body>
</html>

Так где же теряется результат?


редактировать:
Исходный код веб-страницы от Firefox

<html>
<body>

is the result</body>
</html>

редактировать: решено. Скрипт bash использует ‘~’, который раскрывается в неправильный каталог при запуске скрипта с веб-сервера.

3

Решение

Функции exec «only» возвращают содержимое stdout, поэтому вы можете пропустить сообщение об ошибке.
Но вы можете перенаправить stderr к выводу, например с помощью

$res = shell_exec("/var/www/html/run.sh 2>&1");
1

Другие решения

shell_exec не работает, если вы находитесь в безопасный режим, это может быть проблемой

0

По вопросам рекламы [email protected]