PHP中如何判断exec函数执行成功?
2016-08-04 11:27
1946 查看
前言
做一个代码发布的系统,需要用到PHP的exec函数来执行Linux下的命令和git,svn命令,如何判断PHP的exec函数是否执行成功呢?
解决方案
写个PHP文件来做实验:
exec函数第一个参数是执行的命令,第二个参数是执行的结果,第三个参数是执行的状态。
<?php exec('ls', $log, $status); print_r($log); print_r($status); echo PHP_EOL;
执行这个php文件:
这里$log,$status输出结果如图。
但是$status为0,给人的感觉是执行失败,其实不是,这是exec执行成功。
改一下这个php文件,给exec第一个参数一个错误的命令。
如:
exec(‘lsaa',$log,$status).
再次执行,运行结果如图:
这里$status确是有值的。
那么证明$status为0的时候表示exec执行是成功的。这里PHP官方手册上并没有明确说明。
最终这个执行命令的方法如下:
PHP exec执行命令PHP
public function runLocalCommand($command) { $command = trim($command); $status = 1; $log = ''; exec($command . ' 2>&1', $log, $status); // 执行过的命令 $this->command = $command; // 执行的状态$this->status = !$status; return $this->status; }
去除了日志记录和其他的判断。
注意这里:
$this->status = !$status;
返回状态的时候取相反的值!
总结
以上就是PHP中判断exec函数是否执行成功的详细内容及实例代码,有助于帮助大家深入掌握PHP开发,希望本文所述对大家PHP开发的学习有所帮助。
您可能感兴趣的文章:
相关文章推荐
- PHP如何获取刚插入数据的ID 和判断SQL语句是否成功执行
- php+MySQL判断update语句是否执行成功的方法
- SQL中如何获取存储过程用return返回的值与判断SQL事务是否执行成功?
- SQL技巧:如何获取存储过程用return返回的值与判断SQL Server事务是否执行成功?
- PHP 判断mysql_query是否执行成功
- system函数返回(如何判断调用的shell命令是否执行成功)
- 如何在shell脚本中,判断一个基本命令执行是否成功?
- jdbcTemplate在执行插入操作的时候如何判断是否插入成功?
- 如何判断一条sql(update,delete)语句是否执行成功
- shell 中如何判断前一个命令是否执行成功
- php判断mysql_query是否成功执行
- 判断adodb php执行insert或update是否成功
- php+MySQL判断update语句是否执行成功的方法
- shell 中如何判断前一个命令是否执行成功
- python 如何判断调用系统命令是否执行成功
- SQL中如何获取存储过程用return返回的值与判断SQL事务是否执行成功?
- PHP判断sql语句是否执行成功
- shell 中如何判断前一个命令是否执行成功
- 如何在shell脚本中,判断一个基本命令执行是否成功?