Программа компиляции C с PHP возвращает «gcc: error at exec 'cc1': execvp: Нет такого файла или каталога» - PullRequest
0 голосов
/ 07 июня 2019

Я хочу построить онлайн-компилятор с PHP, но когда я хочу скомпилировать файл C, я получаю ошибку.

Когда я использую терминал для компиляции файла C, это было нормально, но черезPHP для этого я получу сообщение об ошибке:

gcc: error trying to exec 'cc1': execvp: No such file or directory

Моя ОС:

CentOS Linux выпуск 7.6.1810 (Core)

gcc --version:
        gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
        Copyright (C) 2015 Free Software Foundation, Inc.
        This is free software; see the source for copying conditions.  There is 
        NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
        PURPOSE.

which gcc :
        /usr/bin/gcc

Я был запущен

sudo yum install gcc-c++
sudo yum  install cpp-4.8.5-36.el7_6.2.x86_64

Файл cc1 находится под /usr/libexec/gcc/x86_64-redhat-linux/4.8.5.Я также установил PATH, чтобы гарантировать, что /usr/bin был в начале, к

PATH=/usr/bin:$PATH

Я просто беру код, который, как кто-то говорит, будет работать, но он все еще не удался для меня.Ниже приведен код, который я нашел.

<?php
$data = '#include<stdio.h> 

int main(){
printf("Hello World");
return 0;
}

';

$my_file = 'code.c';
file_put_contents($my_file, $data);

system("gcc {$my_file} &> error.txt");

$error = file_get_contents("error.txt");

if($error=='')
    system("./a.out");
else
    echo $error;
?>

Я долго искал решение, но все еще не могу получить правильный ответ.Я пытаюсь переустановить gcc и g++ много раз, но ошибка остается ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...