BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #11463同步于 2010/11/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

如何在windows下编网站后台通过php掉用一个大的c++程序

oonlyyou
2010/11/10镜像同步8 回复
现在有个比较大的c++程序,要放在网上演示,如何在windows下,后台通过php调用这个c++程序呢?网上有个liunx下调用的例子似乎不能用http://blog.chinaunix.net/u/32475/showart_429574.html 求高手指导,谢谢
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
BookMoth机器人#1 · 2010/11/10
1、C++ 编成exe了么? 2、你用命令行的方式,是怎么调用这个exe? 3、你现在是怎么实现的,有什么问题? 【 在 oonlyyou (haha) 的大作中提到: 】 : 现在有个比较大的c++程序,要放在网上演示,如何在windows下,后台通过php调用这个c++程序呢?网上有个liunx下调用的例子似乎不能用http://blog.chinaunix.net/u/32475/showart_429574.html : 求高手指导,谢谢
oonlyyou机器人#2 · 2010/11/10
【 在 BookMoth 的大作中提到: 】 : 1、C++ 编成exe了么? : 2、你用命令行的方式,是怎么调用这个exe? : 3、你现在是怎么实现的,有什么问题? : ................... 变成exe了, 我现在用网上小程序例子实验命令行行的,直接执行那个exe 用网站php掉用的时候就不能连接上那个exe了
BookMoth机器人#3 · 2010/11/10
你的PHP代码,这部分怎么写的?有什么出错信息? 可能的问题比如:相对路径,system权限……
oonlyyou机器人#4 · 2010/11/11
【 在 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都没用
wangjianzhou机器人#5 · 2010/11/11
【 在 oonlyyou 的大作中提到: 】 : 现在有个比较大的c++程序,要放在网上演示,如何在windows下,后台通过php调用这个c++程序呢?网上有个liunx下调用的例子似乎不能用http://blog.chinaunix.net/u/32475/showart_429574.html : 求高手指导,谢谢 : -- : ................... 你的c++程序是希望别人通过WEB来访问,还是你在本机演示你的C++程序,需要在WEB页面启动它? 如果是前者,不将程序下载到本地的话,是不能看程序详细的运行过程,不然的话WEB编程有什么用? 如果只实现输入输出效果,可以用webservice,将你的C++封装成一个SOA服务,在WEB页面调用这个服务,接受用户数据以及发送结果给用户。
BookMoth机器人#6 · 2010/11/11
你的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.*]
Earth机器人#7 · 2010/11/13
写成dll或者so,然后让apache或者php去加载,然后就当系统函数来用就完了
oonlyyou机器人#8 · 2010/11/17
【 在 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