php shell_exec()执行但我没有看到结果

问题描述 投票:0回答:2

我知道这可能听起来很奇怪,或者可能是一个重复的问题,但已经搜索过,找不到任何可能的解决方案。

我想将我的代码从bitbucket自动部署到我的服务器。我创建了一个ssh密钥并将它们链接起来,创建了一个代码所在的裸git文件夹,然后创建了一个包含实时网站的生产文件夹。我向bitbucket添加了一个webhook,它应该在我运行推送到我的存储库的任何时候执行。我现在的挑战是,脚本已执行但我没有看到任何更改,但如果我在控制台中手动编写命令,一切正常。请帮忙。我正在使用debian 9操作系统运行Linode服务器。这是我的部署脚本中的代码。请帮我。我现在已经有4天了。

<?php
$repo_dir = '/var/www/git/_ku1bo__c_plus_z_.git';
$web_root_dir = '/var/www/html/kobuplus.com/public_html';
$git_path = '/usr/bin/git';
exec("cd $repo_dir" && "$git_path fetch");
exec("cd $repo_dir" && "GIT_WORK_TREE=$web_root_dir $git_path checkout -f");
file_put_contents("deploy.log", date("m/d/Y h:i:s a") . "deployed latest branch" . "\n", FILE_APPEND);
?>
php git shell-exec
2个回答
0
投票

你错误地加入你的字符串,试试这个:

<?php
$repo_dir = '/var/www/git/_ku1bo__c_plus_z_.git';
$web_root_dir = '/var/www/html/kobuplus.com/public_html';
$git_path = '/usr/bin/git';
exec("cd " . $repo_dir . $git_path . " fetch");
exec("cd $repo_dir GIT_WORK_TREE=$web_root_dir $git_path checkout -f");
file_put_contents("deploy.log", date("m/d/Y h:i:s a") . "deployed latest branch" . "\n", FILE_APPEND);
?>

0
投票

- >使用此命令运行文件以查看其行为(使用SSH命令行界面):

php absolute_path_of_the_file 

- >如果出现此错误:Permission denied (publickey),请确保已将SSH密钥添加到存储库设置中。

© www.soinside.com 2019 - 2024. All rights reserved.