Как я могу дать разрешения cmd для Apache? - PullRequest
0 голосов
/ 14 апреля 2019

Я работаю над приложением php, которое тянет репозитории github на сервер.Github webhooks вызывают файлы php.

Я хочу выполнить команду cmd, используя php.Я предполагаю, что мне нужны разрешения apache, но я не знаю, как их дать.

Приведенный ниже код php создает mkdir.bat и gitclone.bat и запускает их.mkdir работает успешно, он создает пустую папку, но gitclone не создает никаких папок или файлов.Когда я запускаю gitclone вручную, он создает папки и файлы.

file_put_contents("mkdir.bat", "mkdir test");
exec("mkdir.bat");

file_put_contents("gitclone.bat", "git clone https://github.com/gutyina700/WPTG.git");
exec("gitclone.bat");

1 Ответ

0 голосов
/ 14 апреля 2019

Я выполнил ваш код на моем компьютере

file_put_contents("gitclone.bat", "git clone https://github.com/gutyina700/WPTG.git");
exec("gitclone.bat 2>&1",$o);
print_r($o);

дополнительный код для проверки вывода из cmd и он возвратил "команда git не существует" так что вам нужно только добавить строку как

<?php
putenv("PATH=C:\Program Files\Git\cmd");
file_put_contents("gitclone.bat", "git clone https://github.com/gutyina700/WPTG.git");
exec("gitclone.bat 2>&1",$o);
print_r($o);
?>

Это работало правильно.

...