php测试exec_检查PHP的exec函数是否执行成功
exec函数可以运行一些系统命令了,当然许多的主机已经禁止了exec函数运行了,那么我们要如何检查到exec函数是否成功运行呢,下面来看看一篇关于此问题的测试文章。
做一个代码发布的系统,需要用到PHP的exec函数来执行Linux下的命令和git,svn命令,如何判断PHP的exec函数是否执行成功呢?
写个PHP文件来做实验:
exec函数解析
exec语法: string exec(string command, string [array], int [return_var]);
exec返回值: 字符串
Exec参数说明
Command – 需要执行的命令
Array – 是输出值
return_var –是返回值0或1,如果返回0则执行成功,返回1则执行失败。
exec函数第一个参数是执行的命令,第二个参数是执行的结果,第三个参数是执行的状态。
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的exec函数是否执行成功相关推荐
- php exec 怎么确定执行成功_php执行系统外部命令的4种方法
提供4种方法: - exec().passthru().system(). shell_exec(). 在开始介绍前,先检查下php配置文件php.ini中是有禁止这是个函数.找到 disable_f ...
- Linux---fork函数和exec函数
这里主要介绍Unix/Linux中进程创建,fork()函数和exec()函数. 这里先介绍一下什么是进程: 进程是正在执行的程序的一个实例.每个实例都有自己的地址空间和执行状态.当操作系统给内核数据 ...
- python exec函数_Python3 exec 函数
Python3 exec 函数 描述 exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码. 语法 以下是 exec 的语法: ex ...
- 8.10 exec函数
8.10 exec函数 用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序.当进程调用一种exec函数时,该进程完全由新程序代换,而新程序则从其m a i n函数开始执行.因 ...
- linux exec 二程序,二十五、Linux 进程与信号---exec函数
25.1 介绍 在用 fork 函数创建子进程后,子进程往往要调用一种 exec 函数以执行另一个程序 当进程调用一种 exec 函数时,该进程完全由新程序代换,替换原有进程的正文,而新程序则从其 m ...
- linux的exec函数
在用fork函数创建子进程后,子进程往往要调用一个exec函数以执行另一个程序 当进程调用一种exec函数时,该进程完全由新程序代换,而新程序则从其main函数开始执行.因为调用exec并不创建新进程 ...
- c++中的fork函数_linux c语言 fork() 和 exec 函数的简介和用法
linux c语言 fork() 和 exec 函数的简介和用法 假如我们在编写1个c程序时想调用1个shell脚本或者执行1段 bash shell命令, 应该如何实现呢? 其实在<stdli ...
- linux c语言 fork() 和 exec 函数的简介和用法
假如我们在编写1个c程序时想调用1个shell脚本或者执行1段 bash shell命令, 应该如何实现呢? 其实在<stdlib.h> 这个头文件中包含了1个调用shell命令或者脚本的 ...
- exec函数 终极总结
进程控制之exec函数 用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序.当进程调用一种exec函数时,该进程执行的程序完全替换为新程序,而新程序则从其main函数开始执行 ...
最新文章
- 剑指offer:面试题16. 数值的整数次方
- 清华北大“世界排名断崖式下跌”?
- 2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest
- Lua面向对象利用metamethod重载运算符
- 熊猫分发_实用熊猫指南
- html 小于号 乱码,shell重定向(大于号,小于号,左右,21,)
- php要求输入是个数求平均值、_Excel表格技巧—如何在 Excel 中快速完成求和、平均值、百分比...
- echarts 三环圆环_echarts实现环形进度图
- Android开发入门一之Android应用程序架构详解
- Node.js webpack
- mysql数据库索引回表_简述 MySQL 数据库的覆盖索引与回表
- Linux下source ./bashrc出现的command not found: shopt问题
- Ensemble_VEP--vcf文件注释
- as,which引导的非限定性定语从句
- Python的5大就业方向
- jsp 的 4 种作用域?
- spring boot 和cloud 版本升级
- ESP32 LVGL8.1 ——Style local style 样式当地的风格 (Style 11)
- MATLAB的RTL-SDR硬件支持包使用详细教程
- Ubuntu小小白的碎碎记录【conda篇】
热门文章
- netty框架学习及springboot整合集成
- Java中final关键字
- 收缩控件Expander
- 如何解决rpm安装包依赖问题
- 电脑CPU温度过高怎么解决呢?怎么才能监测电脑CPU温度?
- 中小企业网络安全建设规划_小型企业网络安全规划指南
- [估值-002]现金流折现法DCF
- 小马哥-----高仿苹果6S 主板型号A231 全网通机型刷机 完美root图与拆机主板图
- android通讯联系QuickContactBadge 圆形头像显示详解
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于的毕业生实习记录管理系统ba6a4