wordpress4.9.4漏洞,新网站如何做seo,广州中英文网站建设,百度站长 添加网站php中文网最新课程每日17点准时技术干货分享1.先来讲一下自动部署的原理#xff0c;一般在我们push代码的时候#xff0c;可以自动请求webhook中设置的url#xff0c;完成一次请求与响应。那么只要我们设置的url地址请求的php文件内容是执行命令行git push命令#xff0c;则… php中文网最新课程每日17点准时技术干货分享1.先来讲一下自动部署的原理一般在我们push代码的时候可以自动请求webhook中设置的url完成一次请求与响应。那么只要我们设置的url地址请求的php文件内容是执行命令行git push命令则可以实现每次在本地push推送一次代码到远端服务器就会自动git pull拉取最新的分支。2.那么我们需要设置的就是两个地方①git项目的webhook设置一般在我们托管代码的平台在项目设置里都会有一项webhook设置里面一般只有一条内容那就是url的设置这里我设置的是http://www.xxxxx.com/webhook.php(很明显我在网站的根目录扔了一个webhook.php文件那么每次我向远端推送代码的时候我网站的webhook.php文件都会被访问到)②服务器端(代码运行位置)的钩子文件(webhook.php)设置$command cd 代码位置;$output shell_exec($command);$command git pull;$output shell_exec($command);print $output;我这里就是简单的两句先cd命令进入到相应目录然后执行git pull命令主要就是shell_exec()函数的使用这个是php执行命令行的函数同学们可以自己百度具体介绍这里要特别说明的是我之前执行shell_exec()命令的时候服务器会无响应卡死于是我用一句$output shell_exec(ls);print_r($output);指令测试发现也超时很奇怪所以一直搁置来着也想不明白怎么回事毕竟就三五行代码也不知道什么原因让它一直请求超时。后来过了两个月我想会不会是当初print的字符串编码问题于是便有了下面的几句代码$encode mb_detect_encoding($output, array(ASCII,GB2312,GBK,UTF-8));$trans iconv( $encode, UTF-8,$output);print $trans;然后竟然可以执行了。。。我也想不起来之前到底是什么原因shell_exec()一直超时又遇到的小伙伴可以试试不打印返回内容或者将打印内容编码处理一下。不过相信遇到这个恶心问题的小伙伴还是少数。-END-▼