Я пытаюсь автоматизировать развертывание ресурсов хостинга с помощью Firebase с использованием PHP. Я пытаюсь вызвать ‘firebase deploy’ с помощью shell_exec () в PHP, но пока не могу заставить его работать. Выходные данные не возвращаются, и ничего не записывается в файл журнала, если я передаю вывод в один.
Есть ли способ автоматизировать развертывание Firebase с помощью PHP?
(интересное примечание: поскольку команду ‘firebase’ нужно вызывать из фактического общедоступного каталога, который будет выдвинут, думаю, мне нужно вызвать '/usr/local/bin/firebase deploy'
и передать параметры каталога Firebase, который я хочу нажать, используя -p
флаг. Это правильно или я могу опустить -p
полностью?)
Firebase deploy прекрасно работает в командной строке, когда я набираю его вручную.
Пожалуйста помоги!
После контакта с Firebase один из их замечательных разработчиков помог мне и предложил следующее, что сработало для меня:
<!DOCTYPE html>
<html>
<body>
<?php
exec('PATH=/usr/local/bin:$PATH && firebase deploy', $output);
print_r($output);
?>
</body>
</html>
Так что благодаря поддержке Firebase у меня все заработало. Это в основном связано с Apache и веб-сессиями. Необходим $ PATH:
Проблема связана с сеансом веб-сервера. При выполнении этих команд он обнаружил, что вывод «команда не найдена». Эта ошибка возвращается, когда $ PATH не содержит путь к нужным командам (в данном случае это firebase и узел).
Чтобы исправить это, он должен был добавить этот путь к $ PATH в текущем сеансе, чтобы можно было вызвать ‘firebase deploy’.
Еще раз спасибо, Firebase!
Других решений пока нет …