为什么 shell_exec of php 不能在这里工作?
Why doesn't shell_exec of php work with here?
我有一个 php 脚本和一个使用 C# 创建的 exe 文件。我希望 php 执行该 exe 文件。我尝试使用 shell_exec
命令。但是什么也没有发生!!然后我尝试了 echo shell_exec("dir");
它通过显示信息来工作。
为什么不执行exe文件。几个月前我用过它,它在 xpdf、brc 和 opera 上运行良好。
我试过给绝对路径,我试过添加到路径变量。但它不起作用。 有趣的是,我的 exe 文件可以从命令行 完美执行。我认为 php.
有问题
我正在使用 Apache 2.4 和 PHP5.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 来完成我的项目,其他都很好,只有这个功能!
解决方案:
您正在使用非交互式 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
我有一个 php 脚本和一个使用 C# 创建的 exe 文件。我希望 php 执行该 exe 文件。我尝试使用 shell_exec
命令。但是什么也没有发生!!然后我尝试了 echo shell_exec("dir");
它通过显示信息来工作。
为什么不执行exe文件。几个月前我用过它,它在 xpdf、brc 和 opera 上运行良好。
我试过给绝对路径,我试过添加到路径变量。但它不起作用。 有趣的是,我的 exe 文件可以从命令行 完美执行。我认为 php.
有问题我正在使用 Apache 2.4 和 PHP5.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 来完成我的项目,其他都很好,只有这个功能!
解决方案:
您正在使用非交互式 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