从C ++程序调用PHP脚本

我试图从C ++程序调用一个PHP脚本。 例如,下面是一个C ++程序的例子:

#include <iostream> #include <cstdlib> using namespace std; int main() { cout << std::system("test.php"); return 0; } 

这个程序正在调用一些脚本“test.php”,它可能是这样构造的:

 <?php echo "Hello"; ?> 

运行C ++代码时,我得到以下内容:

 sh: 1: test.php: not found. 

现在显而易见的是如果文件在同一个目录(他们确实是),但是错误仍然存​​在。 任何关于如何去做这样的事情的反馈?

谢谢。

尝试:

 cout << std::system("php -f test.php"); 

如果你想执行一个PHP脚本作为命令行脚本,你必须在你的第一行PHP脚本添加一个shebang行。 喜欢

 #!/usr/bin/php 

除非文件被标记为可执行文件,属于PATH环境变量的目录(或运行./test.php ),并且必须指定运行脚本的程序(在您的情况下为“php”)家当。 你必须使用system("php test.php")

这是因为“sh”在PATH指定的目录中搜索“test.php”,工作目录通常不包含在PATH