返回信息流现在有个比较大的c++程序,要放在网上演示,如何在windows下,后台通过php调用这个c++程序呢?网上有个liunx下调用的例子似乎不能用http://blog.chinaunix.net/u/32475/showart_429574.html
求高手指导,谢谢
这是一条镜像帖。来源:北邮人论坛 / www-technology / #11463同步于 2010/11/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
如何在windows下编网站后台通过php掉用一个大的c++程序
oonlyyou
2010/11/10镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
1、C++ 编成exe了么?
2、你用命令行的方式,是怎么调用这个exe?
3、你现在是怎么实现的,有什么问题?
【 在 oonlyyou (haha) 的大作中提到: 】
: 现在有个比较大的c++程序,要放在网上演示,如何在windows下,后台通过php调用这个c++程序呢?网上有个liunx下调用的例子似乎不能用http://blog.chinaunix.net/u/32475/showart_429574.html
: 求高手指导,谢谢
【 在 BookMoth 的大作中提到: 】
: 1、C++ 编成exe了么?
: 2、你用命令行的方式,是怎么调用这个exe?
: 3、你现在是怎么实现的,有什么问题?
: ...................
变成exe了,
我现在用网上小程序例子实验命令行行的,直接执行那个exe
用网站php掉用的时候就不能连接上那个exe了
【 在 BookMoth 的大作中提到: 】
: 你的PHP代码,这部分怎么写的?有什么出错信息?
: 可能的问题比如:相对路径,system权限……
: --
: ...................
<?php
echo '<br/><br/><br/><br/><br/><br/>';
echo '<div align=center>';
if($_POST['args']!=""){
echo 'what you input in the textbox are:';
echo $_POST['args'];
echo '<br/><br/>then the c++ program will execute as follows:<br/><br/><br/>';
/*call c++ aplications,the sapce right after ./test is necessary.
It separate the command from its arguments*/
$command="./test ".escapeshellcmd($_POST['args']);
passthru($command);
}else{
echo '<br/>You did not enter anything in the textbox.';
}
echo '</div>';
其中把passthru改成system和exec都没用
【 在 oonlyyou 的大作中提到: 】
: 现在有个比较大的c++程序,要放在网上演示,如何在windows下,后台通过php调用这个c++程序呢?网上有个liunx下调用的例子似乎不能用http://blog.chinaunix.net/u/32475/showart_429574.html
: 求高手指导,谢谢
: --
: ...................
你的c++程序是希望别人通过WEB来访问,还是你在本机演示你的C++程序,需要在WEB页面启动它?
如果是前者,不将程序下载到本地的话,是不能看程序详细的运行过程,不然的话WEB编程有什么用?
如果只实现输入输出效果,可以用webservice,将你的C++封装成一个SOA服务,在WEB页面调用这个服务,接受用户数据以及发送结果给用户。
你的test和你的php是在同一个目录下面么?
试试这段程序,在你哪里能不能执行成功?
<?php
$arg = "www.baidu.com";
$command="c:\windows\system32\ping ".escapeshellcmd($arg);
passthru($command);
?>
【 在 oonlyyou (haha) 的大作中提到: 】
: 标 题: Re: 如何在windows下编网站后台通过php掉用一个大的c++程序
: 发信站: 北邮人论坛 (Thu Nov 11 08:45:58 2010), 站内
:
: 【 在 BookMoth 的大作中提到: 】
: : 你的PHP代码,这部分怎么写的?有什么出错信息?
: : 可能的问题比如:相对路径,system权限……
: : --
: : ...................
: <?php
: echo '<br/><br/><br/><br/><br/><br/>';
: echo '<div align=center>';
:
: if($_POST['args']!=""){
: echo 'what you input in the textbox are:';
: echo $_POST['args'];
: echo '<br/><br/>then the c++ program will execute as follows:<br/><br/><br/>';
: /*call c++ aplications,the sapce right after ./test is necessary.
: It separate the command from its arguments*/
: $command="./test ".escapeshellcmd($_POST['args']);
: passthru($command);
: }else{
: echo '<br/>You did not enter anything in the textbox.';
: }
:
: echo '</div>';
: 其中把passthru改成system和exec都没用
: --
:
: ※ 来源:·北邮人论坛 http://bbs.byr.cn·[FROM: 59.64.132.*]
【 在 BookMoth 的大作中提到: 】
: 你的test和你的php是在同一个目录下面么?
: 试试这段程序,在你哪里能不能执行成功?
: <?php
: ...................
是在一个目录下的
能回复是这样的!
Pinging www.a.shifen.com [119.75.213.50] with 32 bytes of data: Reply from 119.75.213.50: bytes=32 time=1ms TTL=54 Reply from 119.75.213.50: bytes=32 time=1ms TTL=54 Reply from 119.75.213.50: bytes=32 time=1ms TTL=54 Reply from 119.75.213.50: bytes=32 time=1ms TTL=54 Ping statistics for 119.75.213.50: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 1ms, Average = 1ms