2016-07-15 5 views
0

У меня есть скрипт php, который должен запускать команду, расположенную в определенной подпапке, в другой подпапке.Команда запуска в другой папке

Эта команда находится в папке Cmd и должна быть выполнена в папке 1.6.2. Итак, сначала я перейти в каталог 1.6.2, а затем я использовать относительный путь для вызова команды:

exec("cd 1.6.2"); 
exec("..\Cmd\sencha app build production"); 

Но это бросает ошибку, что каталог не может быть найден, потому что второй exec все еще выполняется в главной папке, где находится вызывающий файл index.php.

php manual on exec не предоставляет возможности для выполнения в другом каталоге. Я что-то упустил?

Текущая система - это Windows, но я должен сделать ее переносной, поскольку она может быть выполнена на Linux в будущем.

+0

@ChoncholMahmud Как вы программируете щелчки мыши в PHP-скрипте? – Alexander

ответ

1

Попробуйте сначала изменить рабочий каталог

например.

chdir('/path/to/1.6.2'); 
exec("sencha app build production"); 
+0

Я мог бы, но это все равно оставляет меня без возможности сначала войти в папку 1.6.2. Команда 'sencha' требует, чтобы я вызывал ее из папки 1.6.2, иначе она выдает« Команда должна вызываться из папки фреймворка ». – Alexander

+1

Возможно, может помочь команда PHP Change Directory? http://php.net/manual/en/function.chdir.php: chdir ("/path/to/1.6.2"); Exec ('Сенча'); Я отредактировал свой ответ – GreensterRox

0

Вы должны изменить каталог в пределах той же команды exec(). примерно так: exec("cd 1.6.2 && Cmd/sencha app build production"); в зависимости от вашей фактической структуры папок. Я просто догадываюсь)

Смежные вопросы