我有一个php脚本和一个使用c#创建的exe文件。我想php执行该exe文件。我尝试使用shell_exec
命令。但什么都没发生!然后我尝试了echo shell_exec("dir");
,它通过显示信息来工作。
为什么不执行exe文件。几个月前我已经使用过它,它在xpdf,brc和opera上运行良好。
我尝试给出绝对路径,我尝试添加路径变量。但它不起作用。 有趣的是我的exe文件从命令行完美执行。我认为php有问题。
我正在使用Apache 2.4和PHP 5.6
PHP脚本:
<?php
echo shell_exec("Face_Trainer.exe");
?>
C#exe文件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Face_Trainer
{
class Program
{
static void Main(string[] args)
{
Console.Beep();
}
}
}
我需要这个shell_exec才能完成我的项目,其他一切都很好,就是这个功能!
答案 0 :(得分:1)
您正在使用非交互式shell,这就是您没有听到哔哔声的原因。您可以通过编写文件来检查它,如果创建了文件,您的程序在当前设置中运行正常。
其他评论:
如果您真的尝试执行exe文件,则应使用正确的扩展名:
<?php
echo shell_exec("Face_Trainer.exe");
?>
由于这似乎是一个错字,这里有另一个提示:我会运行一个批处理文件,您可以在其中为您的应用程序设置环境。这是一个例子:
@echo off
set path=%path%;x:\your\path
cd x:\dir\of\exe
Face_Trainer.exe