Я хочу выполнить следующую команду на моем сервере Ubuntu, используя php:
android create project --target 8 --name $fname --path ./$fname --activity MainActivity --package $fpack 2>&1
Вышеупомянутая команда предназначена для создания проекта приложения для Android. Поэтому, когда я ввожу эту команду на мой терминал, она работает нормально, но когда я выполняю ее через php:
<?php
$fname = $_POST['fname'];
$fpack = $_POST['fpack'];
$email = $_POST['email'];
//Creating a new Android project
var_dump(shell_exec("android create project --target 8 --name $fname --path ./$fname --activity MainActivity --package $fpack 2>&1"));
?>
Когда я запускаю свой PHP-скрипт, я получаю следующий вывод:
string(26) "sh: 1: android: not found "
Почему он работает, когда я ввожу вручную в терминал (из учетной записи пользователя "ashish"), но не с php? мой пользователь и группа apache одинаковы (ashish). Любая помощь будет оценена :)
видеть это
http://php.net/manual/en/function.shell-exec.php
http://php.net/manual/en/function.exec.php
shell_exec - выполнить команду через оболочку и вернуть полный вывод в виде строки
exec - выполнить внешнюю программу
поэтому попробуйте использовать exec() insted shell_exec()
exec ("android create project --target 8 --name $ fname --path./$fname --activity MainActivity --package $ fpack 2> & 1")
android
отсутствует в вашем$PATH
или есть разрешения на пути.