Я пытаюсь выполнить программу в фоновом режиме, используя php. Программа c это.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
printf("hello\n");
int i =0;
printf("hello world\n");
FILE *fp;
fp = fopen("/home/gianpaolo/workspace/test/outputfile", "w+");
while(i < 60000000) {
fprintf(fp, "hello world\n");
i++;
}
fclose(fp);
}
и php, который запускает программу, выглядит так
<?php
$out = array();
exec('/home/gianpaolo/workspace/test/test 2>&1', $out);
print_r($out);
?>
Я запускаю этот код на веб-странице, на которой есть ссылка на этот код. Как вы можете видеть, я печатаю переменную $ out, чтобы увидеть, что происходит, и вот что я получаю
Array ( [0] => Segmentation fault )
Если я запускаю какую-либо командную строку, она прекрасно работает, но если я ее запускаю, у нее не будет никаких идей?
--- UPDATE ---
Я проверил как предложено, был ли fp НЕДЕЙСТВИТЕЛЕН, который фактически был. Итак, как я могу предоставить разрешение, чтобы оно могло открываться для записи или создавать для записи файлов?