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