Exec()不执行某些文件(代码127)

时间:2014-03-05 22:20:04

标签: php exec

我有一个使用exec()执行程序的php程序。 Exec()返回127作为$ return参数。

这是PHP代码:

    $exec = exec('./scan', $output, $return);
    echo "<br />-----whoami-----<br />";
    echo exec('whoami');
    echo "<br />-----$exec------<br />";
    echo $exec;
    echo "<br />-----$output----<br />";
    print_r( $output );
    echo "<br />-----$return ---<br />";
    print_r( $return );

我得到了回复:

    -----whoami-----
    apache
    ------Exec------

    ------output----
    Array ( ) 
    ------return ---
    127

我知道exec()正在我的设置中工作,因为我可以调用一个python脚本,该脚本与我尝试在上面打开的文件位于同一文件夹中,具有完全相同的权限。例如这段代码:

    $exec = exec('python test.py', $output, $return);
    echo "<br />-----whoami-----<br />";
    echo exec('whoami');
    echo "<br />-----$exec------<br />";
    echo $exec;
    echo "<br />-----$output----<br />";
    print_r( $output );
    echo "<br />-----$return ---<br />";
    print_r( $return );

返回:

    -----whoami-----
    apache
    ------Exec------
    test.py runs!
    ------output----
    test.py runs!
    ------return ---
    1

知道可能会发生什么吗?我可以运行python程序,但没有任何工作,但“。”我尝试了其他exec命令,如“ls”,它们运行正常。我已经检查了illegal command error code 127 in php exec function,并关闭了php的安全模式。可能是因为Apache被chrooted并且没有访问此文件的权限?我该如何解决这个问题?

0 个答案:

没有答案