从C++程序调用PHP脚本

Calling a PHP script from a C++ Program

本文关键字:PHP 脚本 调用 程序 C++      更新时间:2023-10-16

我正试图从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

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

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