Мне нужно показать название ветки вверху панели навигации.
Кто-нибудь может знать, как это показать?
Я использую Laravel, поэтому попробовал это.
@php
$rev = exec('git rev-parse --short HEAD');
echo $rev;
@endphp
Пожалуйста, предоставьте мне соответствующие варианты.
функция exec может быть немного хитрой и содержать много непредвиденных проблем, если вы не знаете, с чего начать. Во-первых, процесс, выполняющий эту функцию, обычно выполняется пользователем _www, а не вашей учетной записью на вашем компьютере. Это будет означать, что не все программы будут напрямую доступны через конфигурацию окружения PATH. Во-вторых, я обнаружил, что вывод некоторых программ отправляется через стандартную ошибку без видимой причины.
Пример случая 2 будет
$output = `nc -z 127.0.0.1 {$port}`;
Оператор Backtick выполнит скрипт bash между использованием shell_exec () функции, а также распечатать полный вывод в отличие от exec аналога. Двигаясь вперед, я рекомендую вам приложить 2>&1 Команда в конце вашего сценария. Это напечатает вывод ошибок, а также данные выполнения.
$rev = `git rev-parse --short HEAD 2>&1`;
После того, как вы добавите это, вы можете получить еще одну ошибку, ближе к той:
sh: git: command not found
Это когда вам нужно будет добавить точный путь выполнения к желаемой программе. Вы можете сделать это, используя терминал (не в исполнении php CGI / GUI) и команду which
>> which git
/usr/bin/git
…
$rev = `/usr/bin/git rev-parse --short HEAD 2>&1`;
Других решений пока нет …