如何从PHP脚本调用可执行文件

时间:2015-07-17 07:22:39

标签: php

我想运行一个调用远程服务器上的可执行cpp文件的PHP脚本。

我试过如下:

1.处理cpp文件

// function example
#include <iostream>
using namespace std;

int addition (int a, int b)
{
    int r;
    r=a+b;
    return r;
}

int main ()
{
    int z;
    z = addition (5,3);
    cout << "The result is " << z;
    return z;
} 

生成其.exe文件并将其放入服务器的文件夹(test.exe)

第二步: 创建了一个php脚本,使用'shell_exec'

调用exe文件
<?php 
if (function_exists('shell_exec')){
    echo "Enabled";
} else {
    echo "Disabled";
}
$file = 'test.exe';
if (!file_exists($file)) echo 'File does not exists';
$out= shell_exec($file);
//exec($file, $out);
echo 'ouput is:: ' .$out;?>

此外,我已将此PHP文件放在远程服务器上,并尝试在浏览器中调用PHP脚本。但它显示错误Warning: shell_exec() [function.shell-exec]: Unable to execute 'test.exe'。 我想回应“ouput is :: 8”。

请帮助验证。

1 个答案:

答案 0 :(得分:1)

使用:

exec("./test.exe", $out);

请注意$out将保留输出 请记住shell_exec将所有输出流作为字符串返回,但exec返回输出的最后一行。