LINUX.ORG.RU

Не полностью запускается скрипт bash из php

 , ,


0

1

Доброе...

Запускаю bash скрипт через php, скрипт начинает запускатся и доходит до места, где есть expect -c 'spawn

Вот такой код страницы:

<?php
exec('sudo /etc/openvpn/easy-rsa/2.0/expect_vpn.sh');
echo exec('sudo /etc/openvpn/easy-rsa/2.0/expect_vpn.sh');
echo "php работает)";
?>

После запуска выдает в браузере:

spawn /etc/openvpn/easy-rsa/2.0/build-key-pass userfree_php

Вот сам запускаемый скрипт (expect_vpn.sh):

#!/bin/bash
/etc/openvpn/easy-rsa/2.0/expect_vpn.exp

))) от запускает другой скрипт, просто я пока мудрил с правами, у меня только так завелось)

А вот тот скрипт, к которому обращается этот скрипт) (expect_vpn.exp):

#!/bin/bash
#!/usr/bin/expect
export USER="userfree_php"
export USER_PASS="password"
export USER_RU="RU"
export USER_OBL="SAM"
export USER_CITY="Samara"
export USER_COMP="YES"
export USER_OTDEL="NOOTDEL"
export USER_NAMESERVER="Server"
export USER_MAIL="$USER@domen.svoi"

expect -c 'spawn /etc/openvpn/easy-rsa/2.0/build-key-pass $env(USER)
send $env(USER_PASS)\n
send $env(USER_PASS)\n
send $env(USER_RU)\n
send $env(USER_OBL)\n
send $env(USER_CITY)\n
send $env(USER_COMP)\n
send $env(USER_OTDEL)\n
send $env(USER)\n
send $env(USER_NAMESERVER)\n
send $env(USER_MAIL)\n
send \n
send \n
send y\n
send y\n
interact
'

В логах апача, errors.log, была только ошибка на несуществующий файл, поменяв путь на полный, ошибка ушла.

Я так понимаю, что php не правильно принимает expect в скрипте или просто игнорирует?

Подскажите. что может быть не так?) Спасибо.

Ответ на: комментарий от Ford_Focus

Ага, спасибо посмотрю...

Мне важно чтобы Скрипт на bash'e мог в случае чего запускаться руками...

А так, спасибо, думаю прикручи таки)

firefedot
() автор топика

Решено.

В общем expect -c ' поменял на expect <<EOF и в конце EOF

И поправил переменные send $env(USER_PASS)\n на send USER_PASS\n

И убрал interact, как мне посоветовали, в другой ветке.

Проверил все пути в скриптах.

В общем, из браузера, все запустилось и все пришло куда надо.

Спасибо.)

firefedot
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.