docker.php
/*** 跨平台执行脚本** @return array* array['output'] 执行后的输出结果* array['status'] 执行状态 0为正常 127 找不到脚本 126没有执行该shell脚本权限*/function terminal($command) {// systemif (function_exists ( 'system' )) {ob_start ();system ( $command, $return_var );$output = ob_get_contents ();ob_end_clean ();}// passthruelse if (function_exists ( 'passthru' )) {ob_start ();passthru ( $command, $return_var );$output = ob_get_contents ();ob_end_clean ();}// execelse if (function_exists ( 'exec' )) {exec ( $command, $output, $return_var );$output = implode ( "\n", $output );}// shell_execelse 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'
如果觉得《php异步执行shell脚本》对你有帮助,请点赞、收藏,并留下你的观点哦!