Я пытаюсь скомпилировать файл C++ на сервере. У меня установлена 64-разрядная версия Windows 7 вместе с компилятором mingw32 c/C++, установленным в системе под управлением WampServer2.0 (php 5.3.0). Я уже установил переменные env в относительные пути (c: \ MinGW \ bin). Следующий фрагмент кода не вызывает каких-либо исполняемый в Dest_folder, однако команда работает отлично, когда выполнена из CMD (командной строки) и генерирует исполняемомуНе удается выполнить g ++ через php system()
<?php
$string = system("g++ -o C:\\wamp\\www\\Dest_folder\\file.exe C:\\wamp\\www\\Dest_folder\\file.cpp", $retval);
echo $retval;
echo $string;
?>
переменная $ строка должна возвращает последнюю строку вывод команды на успех, а FALSE при сбое (который в этом случае ничего не возвращает), а переменная $ retval возвращает 1. Я делаю что-то неправильно? Также я заметил, что каждый успешный вызов system() (все остальные вызовы, кроме компиляции g ++) производит 0 как $ retval.
Я уже пробовал, что это не имеет никакого значения. – Seeder
@Seeder: Может ли 'g ++' быть найдена вашей оболочкой? Укажите весь путь. –
Я установил переменные пути и среды для C: \ MinGW \ bin (используя Windows powershell). Тем не менее, я попытался указать весь путь, но не работает. Как я уже сказал, это отлично работает, когда 'g ++ -o C: \ wamp \ www \ Dest_folder \ file.exe C: \ wamp \ www \ Dest_folder \ file.cpp' выполняется из командной строки, но не тогда, когда я вызываю его с помощью системы (). – Seeder