Всем привет. Ситуация такая: я написал exp скрипт который подключается к telnet(OpenBSC) и выводит логи. И если запускать его в терминале, то все ок. А если запустить его через php с помощью функции exec(), ты выдается такая ошибка:
spawn /bin/bash
Для запуска exp скрипта написан bash скрипт(startExp.sh) такой:
# !/usr/bin/expect -f
/usr/bin/expect /home/megauser/script.exp
Сам exp скрипт такой:
#!/usr/bin/expect -f
set force_conservative 0 ;# set to 1 to force conservative mode even if
;# script wasn't run conservatively originally
if {$force_conservative} {
set send_slow {1 .1}
proc send {ignore arg} {
sleep .1
exp_send -s -- $arg
}
}
set timeout -1
spawn $env(SHELL)
match_max 100000
expect -exact "\]0;megauser@bts: ~megauser@bts:~\$ "
send -- "telnet localhost 4242\r"
expect -exact "telnet localhost 4242\r
Trying 127.0.0.1...\r
Connected to localhost.\r
Escape character is '^\]'.\r
Welcome to the OpenBSC control interface\r
\r
Copyright (C) 2008-2016 Harald Welte, Holger Freyther\r
Contributions by Daniel Willmann, Jan Lübbe, Stefan Schmidt\r
Dieter Spaar, Andreas Eversberg, Sylvain Munaut, Neels Hofmeyr\r
\r
License AGPLv3+: GNU AGPL version 3 or later <http://gnu.org/licenses/agpl-3.0.html>\r
This is free software: you are free to change and redistribute it.\r
There is NO WARRANTY, to the extent permitted by law.\r
OpenBSC> "
send -- "logging enable \r"
expect -exact "logging enable \r
OpenBSC> "
send -- "logging filter all 1\r"
expect -exact "logging filter all 1\r
OpenBSC> "
send -- "logging level all info\r"
expect -exact "logging level all info\r
OpenBSC> "
send -- "show logging"
expect -exact "ng"
send -- " vty\r"
expect -exact " vty\r
Global Loglevel: INFO\r
Use color: On, Print Timestamp: Off\r
Log Level specific information:\r
RLL NOTICE Enabled A-bis Radio Link Layer (RLL)\r
CC NOTICE Enabled Layer3 Call Control (CC)\r
MM NOTICE Enabled Layer3 Mobility Management (MM)\r
RR NOTICE Enabled Layer3 Radio Resource (RR)\r
RSL NOTICE Enabled A-bis Radio Siganlling Link (RSL)\r
NM INFO Enabled A-bis Network Management / O&M (NM/OML)\r
MNCC NOTICE Enabled MNCC API for Call Control application\r
PAG NOTICE Enabled Paging Subsystem\r
MEAS NOTICE Disabled Radio Measurement Processing\r
SCCP NOTICE Enabled SCCP Protocol\r
MSC NOTICE Enabled Mobile Switching Center\r
MGCP NOTICE Enabled Media Gateway Control Protocol\r
HO NOTICE Enabled Hand-Over\r
DB NOTICE Enabled Database Layer\r
REF NOTICE Disabled Reference Counting\r
GPRS DEBUG Enabled GPRS Packet Service\r
NS INFO Enabled GPRS Network Service (NS)\r
BSSGP DEBUG Enabled GPRS BSS Gateway Protocol (BSSGP)\r
LLC DEBUG Enabled GPRS Logical Link Control Protocol (LLC)\r
SNDCP DEBUG Enabled GPRS Sub-Network Dependent Control Protocol (SNDCP)\r
NAT NOTICE Enabled GSM 08.08 NAT/Multiplexer\r
CTRL NOTICE Enabled Control interface\r
SMPP DEBUG Enabled SMPP interface for external SMS apps\r
FILTER DEBUG Enabled BSC/NAT IMSI based filtering\r
RANAP DEBUG Enabled Radio Access Network Application Part Protocol\r
SUA DEBUG Enabled SCCP User Adaptation Protocol\r
SUP DEBUG Enabled SUP interface for external HLR\r
LGLOBAL NOTICE Enabled Library-internal global log family\r
LLAPD NOTICE Enabled LAPD in libosmogsm\r
LINP NOTICE Enabled A-bis Intput Subsystem\r
LMUX NOTICE Enabled A-bis B-Subchannel TRAU Frame Multiplex\r
LMI NOTICE Disabled A-bis Input Driver for Signalling\r
LMIB NOTICE Disabled A-bis Input Driver for B-Channels (voice)\r
LSMS NOTICE Enabled Layer3 Short Message Service (SMS)\r
LCTRL NOTICE Enabled Control Interface\r
LGTP NOTICE Enabled GPRS GTP library\r
LSTATS NOTICE Enabled Statistics messages and logging\r
LGSUP NOTICE Enabled Generic Subscriber Update Protocol\r
LOAP NOTICE Enabled Osmocom Authentication Protocol\r
Log Filter 'ALL': Enabled\r
OpenBSC> "
send -- "exit\r"
expect -exact "exit\r
Connection closed by foreign host.\r
\]0;megauser@bts: ~megauser@bts:~\$ "
send -- ""
expect eof
uname -a:
Linux bts 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
php -v:
PHP 5.5.9-1ubuntu4.21 (cli) (built: Feb 9 2017 20:54:58) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
скрипт php такой:
<?php
echo exec("/var/www/html/startExp.sh");
?>
Права на startExp.sh и на www-data и на script.exp: 0777
В чем может быть такая ошибка?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
пытаюсь в yii2 спарсить сайты партнеров на тему есть ли товар в наличии организовывал таким методом
Здравствуйте ! Может у кого-нибудь найдется время - разъяснить как работает этот код, а именно - что происходит в цикле "FOR"Если кто-нибудь разъяснит...