
V
14.10.2018
21:39:02
sshpass -p "admin" ssh root@192.168.2.104; reboot
выполнил php скрипт
и мне выдало
array(5) { [0]=> string(70) "Pseudo-terminal will not be allocated because stdin is not a terminal." [1]=> string(112) "Failed to set wall message, ignoring: The name org.freedesktop.PolicyKit1 was not provided by any .service files" [2]=> string(110) "Failed to reboot system via logind: The name org.freedesktop.PolicyKit1 was not provided by any .service files" [3]=> string(46) "Failed to open /dev/initctl: Permission denied" [4]=> string(30) "Failed to talk to init daemon." } string(30) "Failed to talk to init daemon."

Google

V
14.10.2018
21:39:37
что бы это значило?

Anton
14.10.2018
21:40:35
Заюзай либу php-ssh и не ети мозг

V
14.10.2018
21:40:37
мрак?

Anton
14.10.2018
21:41:51
У тебя выше одни пермишен денайд

Денис
14.10.2018
21:45:06
короче, у тя запрос на exec не от рута, а от апача, поэтому тебе нужно дать права www юзеру

V
14.10.2018
21:45:09
я это вижу и как исправить?

Anton
14.10.2018
21:45:47
Дать рут апачу
?

V
14.10.2018
21:46:44
ну всмысле lighttpd ? у меня там он крутится
а как это сделать??

Anton
14.10.2018
21:47:56
Не то

V
14.10.2018
21:50:05
хелп плиз я чую там немного уже осталось чтоб заработало...

Anton
14.10.2018
21:50:08
Кури chown, chmod
И потом ребут серв

Google

Anton
14.10.2018
21:50:37
Ты там роутер ребутишь) ?

V
14.10.2018
21:50:57
так мне что нужно човнить то? php скрипт или reboot.sh ?
майнеры)))

Anton
14.10.2018
21:51:43
Тебе надо разрешить серверу выполнять ехес

V
14.10.2018
21:52:01
так и что нужно делать? я нуб(

Anton
14.10.2018
21:53:13
Ну так блин гугли как дать пермишен www на выполнение от рута. Или сделай крон который будет раз минуту чекать файл на диске

V
14.10.2018
21:53:14
можешь в личке объяснить? чтоб тут не зафлуживать

Anton
14.10.2018
21:53:27
Не, я спать
2+2 не варит уже

V
14.10.2018
21:53:36
?
я просто даже не могу понять какой запрос вбить в поисковик( у меня на тачке крутится lighttpd ему надо дать права рута?

Сасный
14.10.2018
21:56:37
ща бы рут давать всем подряд *facepalm.jpg*

V
14.10.2018
21:58:36
вообще это крайне странная хрень не могу до конца осознать поч логинюсь под рут правами на удалённую тачку всё норм а выполнить команду не могу из за того что вебсервер не имеет рута...
брр

q3ta
14.10.2018
22:07:56
Есть таблица t
В ней столбцы id, from_id, login
Нужно получить для каждого поля таблицы id, login и сумму полей где from_id равно id поля, ну и потом отсортировать по этой сумме, может кто намекнет хотя бы наброском решения, а то вариантов 6 перебрал, inner join, подвыборки и ТД. Но не вышло, просто не знаю все нюансы видимо

V
14.10.2018
22:10:55
server.username = "root"
server.groupname = "root"
перезапускаю lighttpd он выдаёт
root@minera:/var# /etc/init.d/lighttpd restart
[....] Restarting lighttpd (via systemctl): lighttpd.serviceJob for lighttpd.service failed because the control process exited with error code.
See "systemctl status lighttpd.service" and "journalctl -xe" for details.

Денис
14.10.2018
22:22:25

Google

q3ta
14.10.2018
22:22:50

Денис
14.10.2018
22:23:50
пример какой-то для наглядности. когда ты задаешь вопрос это не значит, что все в курсе твоих мыслей и твоего видения)

q3ta
14.10.2018
22:26:45
Если что-то не понятно, можно уточнить, а не слить все на неправильность объяснения,и так башку ломал что бы можно было понять что хочу
А что в этом случае count(*) считает? Полностью все поля? А не те поля где from_id равен текущему id?
Щас просто затестить уже не могу, только завтра

Денис
14.10.2018
22:38:32
ну да, немного не то, так всё посчитает

Don
14.10.2018
22:39:20
Сумма полей какого именно?

Денис
14.10.2018
22:39:53
ну попробовать дописать where id=from_id, мне на лету соображать тяжело)

Don
14.10.2018
22:40:15
Конкретно опиши задачу, а то размылена

q3ta
14.10.2018
22:43:53
Сумма полей какого именно?
Если без точностей, а на словах, есть таблица пользователей, пользователя может пригласить другой пользователь и тогда у него пишется from_id того кто пригласил.
Вот, надо для каждого пользователя бд получить его id, login и сумму тех человек что он пригласил, то есть сумму всех полей где from_id равно id текущего поля, потом ещё отсортировать по этому количеству записей. Это сложный запрос

Денис
14.10.2018
22:44:33
та ничегоо сложного

Don
14.10.2018
22:45:51

Денис
14.10.2018
22:46:14
вверху подправил, попробуешь отпишешь)

q3ta
14.10.2018
22:46:56

Денис
14.10.2018
22:48:02
блин это ж бред, from_id и id не могут быть равны
тебе просто нужно сгруппировать по from_id и всё
и заджоинить логин.id=from_id

Google

q3ta
14.10.2018
22:49:27

Денис
14.10.2018
22:50:12
ну яж правильно понимаю - from_id пригласил id, значит они не могут быть равны)

q3ta
14.10.2018
22:52:18
0 дефолт
Ты делаешь селект получи id, login, sum ... Где сум для каждого поля высчитать нужно, id поля равно from_id

Admin
ERROR: S client not available

Денис
14.10.2018
22:54:07
та не равно оно)
сам себя чтоли пригласил

q3ta
14.10.2018
22:55:04
2го и 3го пригласил 1ый
4го пригласил 3ий
В итоге должно быть типа
id login sum
1 l1 2
3 l3 1
2 l2 0
4 l4 0

Денис
14.10.2018
22:58:00
короче уже я понял, а ты всё ещё не понял, утро вечера мудренее))
запрос вот так будет выглядеть select t2.id, t2.login, count(*) as sum from table t1 join table t2 on t2.id=t1.from_id group by t1.from_id order by sum desc

q3ta
14.10.2018
23:05:02

Денис
14.10.2018
23:05:52
потому что у тебя логин к id относится, а ты выбираешь по from_id

q3ta
14.10.2018
23:09:19

Денис
14.10.2018
23:10:01
таблица одна table, чтоб её два рааза использовать нужно разные алиасы - t1 t2 соответственно

q3ta
14.10.2018
23:10:01
Я почти уснул) если усну, завтра посмотрю, хороших снов
У тебя в коде не было алиаса или я уже проморгал

V
15.10.2018
01:20:49
я победил!!!!? не знаете вы нихрена)))))
кароче для запуска скриптов из веба не обязательно чтоб вебсервер имел рут права)))

Google

V
15.10.2018
01:21:50
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
$result=exec('sudo /bin/sh /var/www/cgi-bin/reboot.sh ', $output);
var_dump($output,$result);
?>
нужно всего лишь после exec добавить sudo и всё взлетело))))
долго же я разбирался с этой хренью?
теперь у меня другой вопрос как заставить это работать через CGI скрипт?

Viktor
15.10.2018
02:04:04
Всем привет.
Может, кто подкинуть идею, как можно написать коротенькую функцию, которая будет проверять переменные на существование и пустоту.
Чтобы можно было в начале кода, оперативно проверить эти самые переменные и в случае чего вывалить сообщение?
P.S.: Проверить не переменные, а объект json)

V
15.10.2018
02:11:29
а не подскажете почему такая конструкция не работает?
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
$result=exec('sudo /usr/bin/sshpass -p 'admin' /usr/bin/ssh -t root@192.168.2.104 uptime 2>&1', $output);
var_dump($output,$result);
?>
если exec'ом вызываю bash скрипт то всё норм работает а как сделать чтоб всё в одном php было?

Eugene
15.10.2018
02:31:30
ребята, можете вопрос глянуть на SO если не сложно плиз)
https://ru.stackoverflow.com/questions/893189/%D0%92%D0%BE%D0%BF%D1%80%D0%BE%D1%81-%D0%BF%D1%80%D0%BE-highcharts

Anonymous*
15.10.2018
05:36:18
но там есть ответ, он некорректный?

Eugene
15.10.2018
05:59:14

Денис
15.10.2018
06:20:33

Eugene
15.10.2018
06:21:00