PHP shell_exec仅在Windows(8)上不使用我自己的应用程序运行
我们正在尝试从PHP运行一些C应用程序,例如:PHP shell_exec仅在Windows(8)上不使用我自己的应用程序运行,php,windows,shell-exec,Php,Windows,Shell Exec,我们正在尝试从PHP运行一些C应用程序,例如: #include<stdio.h> main() { printf("Hello World"); } #包括 main(){ printf(“你好世界”); } 此应用程序复制到PHP脚本所在的同一目录,并按如下方式运行: <?php $output = shell_exec(FULLPATHTO . 'HelloWorld.exe'); echo $output; ?> 当在Linux上运行时
#include<stdio.h>
main() {
printf("Hello World");
}
#包括
main(){
printf(“你好世界”);
}
此应用程序复制到PHP脚本所在的同一目录,并按如下方式运行:
<?php
$output = shell_exec(FULLPATHTO . 'HelloWorld.exe');
echo $output;
?>
当在Linux上运行时,一切正常,应用程序只需要由正确的用户组拥有,不需要在PHP上配置任何东西
在Windows上,shell_exec命令工作正常:
- 使用我们的应用程序从CLI(在php-a中运行)
- 使用默认Windows命令时通过脚本(shell_exec('dir'))
- 通过脚本与一些Windows应用程序(shell_exec(“notepad.exe”)和shell_exec(“notepad.exe”)一起使用)
- NodeJS应用程序可以使用spawn运行我们的应用程序
- 我们已经尝试将stderr输出写入一个文件,但它也是空的
- 在Windows(系统)上运行Apache的用户对该目录拥有完全权限
- 未启用PHP安全模式
- 相同的代码在Linux上运行良好(相同的C代码和相同的PHP代码)
- 该应用程序编译正确,可以从PHP外部运行