У меня есть базовая процедура развертывания на месте, и я хочу ее автоматизировать. Я использую php для автоматизации с Php, я вызываю сценарий оболочки. Если я использую php & shell script, команда HG не работает.
Ниже приведен пример кода.
index.php
<?php
startBuild();
function startBuild() {
echo shell_exec('sh makeBuild.sh 2>&1');
}
?>
makeBuild.sh
#!/bin/bash
hg pull <hg-path>
hg archive -r1673 --verbose /Users/system1/Sites/Apps/001225035079/1.3
Браузер, который я запускаю
http://localhost/~system1/Sites/index.php
При выполнении веб-страницы я получаю сообщение об ошибке как "makeStandalone.sh: строка 7: hg: команда не найдена makeStandalone.sh: строка 8: hg: команда не найдена"
Если я запустил makeBuild.sh из Terminate.app, он отлично работает.
Пожалуйста, помогите мне решить эту проблему, спасибо заранее.
Похоже, что полный путь к исполняемому файлу hg
поможет в этом случае. Измените свой сценарий так:
#!/bin/bash
/path/to/hg pull <hg-path>
/path/to/hg archive -r1673 --verbose /Users/system1/Sites/Apps/001225035079/1.3
Замените /path/to/hg
правильным путем для вашей установки.
which hg
в терминале?