获取php system()函数的完整输出
Getting full output from php system() function
我有一个php system()函数输出的问题。下面是代码:
system("c:\Dev-Cpp\bin\g++.exe c:\wamp\www\hello.cpp -O3 -o c:\wamp\www\hello.exe", $output);
echo $output;
如果我的hello。cpp编译成功,我得到0,如果没有,我得到1
如果我从CMD运行相同的东西,而不是只给出1,它会给我完整的错误。
我怎么能得到完整的错误与php系统()函数?
您只捕获程序的返回代码,该代码通常是一个整数,其中0
表示"成功",其他任何代码都是错误代码。
如果您想捕获程序的实际输出(即STDOUT和/或STDERR),您需要执行以下操作之一:
- 使用输出缓冲来捕获
system()
的输出:
- 使用
exec()
,shell_exec()
或反引号:
如果您想捕获STDERR的输出(我怀疑您是这样做的),您可能需要在命令字符串的末尾添加2>&1
。
或者,您可能想要查看proc_open()
,它更复杂,但可以为子进程提供更细粒度的控制,以及它如何执行/将数据传递给您。
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 请解释"函数1(p1,p2,p3);"的输出
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何从void函数输出字符串
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- 当使用通配符和null指针调用函数时,对输出的说明
- 为什么递归函数的最终输出是 5?
- C++ 构造函数未显示输出
- c++ 将成员函数的输出写入文本文件
- 简单函数并不总是返回预期的输出
- 当使用我在一个函数、另一个函数中修改的数组时,在我的输出中得到一个奇怪的负数
- GCC 仪器 - 是否可以自动输出函数的参数?
- 意外输出..函数绑定在虚拟表中的发生方式
- 输出函数调用日志文件
- C++:程序不输出函数返回值
- 通用化标准库容器的输出函数
- C++:int数组[a][b][C]={0};未将所有值设置为0.是那个指令错了,还是我的输出函数出了问题
- <</>>运算符重载和输入/输出函数之间的区别
- Ncurses 输出函数只接受常量数据