PHP exec()没有运行.exe,除非在XAMPP中的同一目录中

时间:2014-05-01 22:22:42

标签: php c++ xampp

我尝试使用PHP在我的测试XAMPP服务器上执行.exe。但是我似乎无法从exec获取输出,除非.exe与PHP文件位于同一文件夹中。 PHP位于/ xampp / htdocs / mapping中,我想把exe放在/ xampp / cgi-bin

<html>
    <body>

<?php
    exec("c:\xampp\cgi-bin\hello.exe", $output1);
    exec("/cygdrive/c/xampp/cgi-bin/hello.exe", $output2);
    exec("hello.exe", $output3);
    print_r($output1);
    print_r($output2);
    print_r($output3);
?>

    </body>
</html> 

输出就是这个

Array ( ) Array ( ) Array ( [0] => Hello World! ) 

1 个答案:

答案 0 :(得分:0)

我认为您的PHP以“安全模式”运行:

  

注意:启用安全模式后,您只能执行safe_mode_exec_dir中的文件。   出于实际原因,目前还没有   允许在可执行文件的路径中包含..组件。

请参阅:

http://www.php.net/manual/en/function.exec.php

有关安全模式的更多信息:

http://www.php.net/manual/en/features.safe-mode.php