浏览 221 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-04-16 关键字: php, external program, 重定向
php中可以用来执行外部命令的函数或运算符有:
``//backtick operator string shall_exec(string cmd); string exec(string cmd, array &output, int &ret_val); string system(string cmd, int &ret_val); void passthru(string cmd, int &ret_val); 其中:
对于任何函数的ret_val(int 类型),如果正常执行,那么返回0,否则返回非零。 问:对于返回的非零值,是不是根据错误信息的不同而有所不同?有的资料说一般错误会返回13,而我的大多数程序遇到错误返回1. 问:如果程序执行错误,php应该如何捕获错误语句? 问:php调用标注程序和调用shell脚本有什么区别吗? 更复杂的proc_open 函数和重定向问题,下次再写 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
| 返回顶楼 | |
|
时间:2008-04-16
问:对于返回的非零值,是不是根据错误信息的不同而有所不同?有的资料说一般错误会返回13,而我的大多数程序遇到错误返回1.
问:如果程序执行错误,php应该如何捕获错误语句? 问:php调用标注程序和调用shell脚本有什么区别吗? |
|
| 返回顶楼 | |
|
时间:2008-04-16
xombat 写道 问:对于返回的非零值,是不是根据错误信息的不同而有所不同?有的资料说一般错误会返回13,而我的大多数程序遇到错误返回1.
这个是由执行的外部程序决定,外部程序返回什么值就是什么值,按照约定,成功执行是exit(0) 。 xombat 写道 问:如果程序执行错误,php应该如何捕获错误语句?
这个不好说,通常是返回的值不为0,即有错误,但是有的外部程序返回的值不对。另外,接受到的 output 实际上是 外部程序的stdout ,stderr 是没有的。可以用重定向解决 2>&1 xombat 写道 问:php调用标注程序和调用shell脚本有什么区别吗?
啥叫标注程序? |
|
| 返回顶楼 | |
|
时间:2008-04-18
catoc 写道 xombat 写道 问:php调用标注程序和调用shell脚本有什么区别吗?
啥叫标注程序? 抱歉,写错了,应该是“标准程序”,也就是非脚本的程序 |
|
| 返回顶楼 | |



