У меня есть веб-сервер, размещенный на Raspberry Pi B +, на котором работает Raspbian. У меня всегда есть php «shell», который я могу использовать, но кажется, что мой может быть как-то испорчен. Это текстовая область HTML, с name="phptorun"
и файл действия просто делает eval($_POST['phptorun']);
Так как я просто спрятал свой RPi под столом без дисплея, я часто использую свой телефон для доступа к командной строке.
Мой вопрос:
Когда я запускаю что-то вроде system("ls");
я получаю вывод и содержимое рабочего каталога отображается. Я работаю над C «компилятором» (он просто использует командную строку gcc
) но, когда я делаю system("gcc");
я не получаю выход вообще. я знаю, что команда gcc выводит вывод, потому что я делал это раньше на другом компьютере.
Так почему же system("gcc");
не работает?
И если gcc не установлен, я не получу вывод, просто ошибка?
Вам нужно получить больше информации, возможно, что gcc
выводит что-то на STDERR
например, который вы пропускаете при использовании system
функция.
Лучше попробуй использовать exec
функция:
exec("gcc 2>&1", $output, $return_code);
Объяснение:
gcc 2>&1
переадресовывает STDERR
вывод на STDOUT
STDOUT
попадает в $output
переменная$return_code
Других решений пока нет …