PHP exec()导致cc1plus出现g ++错误

时间:2017-11-08 14:00:09

标签: php c++

我试图通过PHP的exec()函数编译C ++程序。该命令直接从命令行运行并且程序编译完美,但在PHP exec()中错误g++: error trying to exec 'cc1plus': execvp: No such file or directory表面。

我正在使用用户www-data运行PHP-FPM 7.1。

在PHP中,有问题的命令是exec('g++ /home/username/example.cpp -o main.o 2>&1', $out);

1 个答案:

答案 0 :(得分:1)

您的问题是您的php脚本运行的用户具有与您自己的用户不同的PATH变量 通过使用which g++,您应该看到PATH变量与在命令行上使用var的变量不同。
尝试使用g ++的完整路径,您可以使用<script> var galleryObj = <%- JSON.stringify(gallery) %>; </script> 找到它。