Я хочу построить онлайн-компилятор с 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++
много раз, но ошибка остается ..