github做webhooks:[2]PHP实现钩子代码

本文介绍如何在GitHub上设置Webhooks实现代码自动部署。通过编写PHP脚本完成从接收更新到执行部署的一系列操作,并解决软连接问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 在github的setting里面的webhooks里把我们的url地址填进去。
  2. 钩子更新的代码如下:
    <?php
    error_reporting(E_ALL);
    $gitPost = json_decode(file_get_contents("php://input"));
    $dir = '/home/www/ownShop';//该目录为git检出目录
    $comm = "cd $dir  && git checkout  master  && git pull origin master && git reset --hard && cd /home/www/ownShop/application && ln -f config_product.php config.php && ln -f database_product.php database.php 2>&1";
    $handle = popen($comm, 'r');
    $read = stream_get_contents($handle);
    echo "'$handle'; " . gettype($handle) . "\n";
    pclose($handle);
    echo json_encode($read);
    ?>

    主要代码其实来源PHP手册。之所以做输出,是为了在github控制面板能清楚看到在钩子生效钱是都是什么问题,需要根据webhooks传值记录日志的,根据接受值自行处理一下。
    注:注意项目目录权限已经所属

         如果做软连接的时候出问题,有可能是因为没有连接文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值