2013-07-01 2 views
1

Я хочу запустить сценарий оболочки с php-сайта на моем локальном хосте (используя MAMP на Mac), но, к сожалению, он не работает.Выполнять shellscript из PHP (Localhost, Mac OSX)

Heres это сценарий оболочки:

#!/bin/bash 
open /Users/my_username/Desktop/aiSee.app 

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

<?php 
    echo exec('script.sh'); 
?> 

Ошибок или что-то не отображается, это просто не работает. Сценарий находится в том же источнике, что и файл .php для веб-сайта.

ответ

0

open в bash не делает то, что вы думаете. Вам нужно только cat:

#!/bin/bash 
cat /Users/my_username/Desktop/aiSee.app 
+0

спасибо большое, я пробовал - но он тоже не работает. Я не специалист по терминалу, но не так ли кошка для конкатенации файлов? – Oli

+0

'cat' для перечисления файла также. У вашего файла оболочки есть разрешение «+ x»? Что произойдет, если вы запустите 'your_script.sh'? – mishik

+0

У этого есть + х разрешающий, сделанный: chmod + x sript.sh. Если я попытаюсь выполнить его с терминала, то ist говорит, что /Users/.../aiSee.app - это каталог. Вместо «cat» вместо «cat» он действительно открыл приложение aiSee. Возможно ли, что существует проблема между localhost (MAMP) и родной оболочкой, работающей в ОС? – Oli

0

Решена ли ваша проблема? Если нет, попробуйте echo exec('sh script.sh'); или echo exec('bash script.sh');. Этот вопрос может решить вашу проблему: how to run a .sh file from php?

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