[英]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和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来完成我的项目,其他一切都很好,仅此功能!
您使用的是非交互式外壳,这就是为什么您听不到蜂鸣声的原因。 您可以通过编写文件来检查它,如果创建了文件,则程序在当前设置中可以正常运行。
其他说明:
如果您确实尝试执行exe文件,则应使用正确的扩展名:
<?php
echo shell_exec("Face_Trainer.exe");
?>
由于这似乎是一个错字,因此这里有另一个提示:我将运行一个批处理文件,在其中为应用程序设置环境。 这里是一个例子:
@echo off
set path=%path%;x:\your\path
cd x:\dir\of\exe
Face_Trainer.exe
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.