首页 文章

用于ADA程序的PHP exec()函数的错误

提问于
浏览
0

我真的需要一些问题的帮助 . 我正在尝试使用直接集成在PHP上的exec()PHP函数,但它不起作用 .

我试过这个:

$directory = "C:/wamp/www/ADA-WEB/Conversion";
$file ="/main.exe";
chmod($directory, 0600);
exec($directory.$file);

但没有任何事情发生 . 所以,我试图看看Apache Log上是否报告了错误,这就是出现的情况:

引发ADA.IO_EXCEPTIONS.NAME_ERROR:convertir \ EXPORT.DAT:没有这样的文件或目录

这是ADA可能引发的典型错误 . 但我不明白为什么会产生这个错误 . 似乎PHP在随机文件夹(可能是临时文件夹)上运行该文件 . 当我直接在Windows上启动exe时,我没有这种问题 .

如果你应该帮忙......

非常感谢 .

萨科

3 回答

  • 0

    您可以考虑在启动ada应用程序之前使用http://php.net/manual/fr/function.chdir.php . 这样,您可以控制运行二进制文件时使用的当前目录

    $directory = "C:/wamp/www/ADA-WEB/Conversion";
    $file ="/main.exe";
    $current = getcwd();
    chdir($direcoty);
    chmod($directory, 0600);
    exec($directory.$file);
    chdir($current);
    
  • 2

    好吧,我改变了主意,转向了另一个方向..

    经过对此问题的更多搜索之后,问题似乎不是因为exec()函数,而是因为Windows不允许通过导航器执行程序 .

    谢谢你的回答 .

    萨科

  • 0

    可能有其他方法来解决这个问题 . 回避你所面临的限制(显然是Windows) .

    如果你're driving an Ada program through a web-based interface, the Ada Web Server (AWS) toolkit is a way to build a webserver right into your program - it'易于使用,而且速度也快 . 显然还有一些名为AWS的工具包,但我的意思是here:,带有介绍here . 有关该工具包的其他一些观点,另请参见StackOverflow question .

相关问题