php异步执行shell脚本

docker.php
/**
 * 跨平台执行脚本
 *
 * @return array
 * array['output'] 执行后的输出结果
 * array['status'] 执行状态 0为正常 127 找不到脚本 126没有执行该shell脚本权限
 */
function terminal($command) {
	// system
	if (function_exists ( 'system' )) {
		ob_start ();
		system ( $command, $return_var );
		$output = ob_get_contents ();
		ob_end_clean ();
	}
	// passthru
	else if (function_exists ( 'passthru' )) {
		ob_start ();
		passthru ( $command, $return_var );
		$output = ob_get_contents ();
		ob_end_clean ();
	}
	// exec
	else if (function_exists ( 'exec' )) {
		exec ( $command, $output, $return_var );
		$output = implode ( "\n", $output );
	}
	// shell_exec
	else if (function_exists ( 'shell_exec' )) {
		$output = shell_exec ( $command );
		$return_var = '';
	} 
	else {
		$output = 'Command execution not possible on this system';
		$return_var = 1;
	}
	
	return array (
			'output' => $output,
			'status' => $return_var 
	);
}




terminal('./shell/start.sh developer-hub-com-docker-test developer-hub-test:v1 8088 > /dev/null 2>&1 &');




start.sh为执行脚本,必须要有执行权限

#!/bin/sh


/usr/bin/docker stop $1
/usr/bin/docker rm $1
/usr/bin/docker run --name $1 -p $3:80 $2 /bin/bash -c 'php-fpm && sed -i -e "s/\$port/80/g" /etc/nginx/conf.d/developer_hub_com.conf && nginx'













  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值