Проверить статус mysql через exec (php) не получается

Рейтинг: 3Ответов: 1Опубликовано: 15.02.2015

Здравствуйте У меня vps на debian. Возникла необходимость узнать через php status mysql. Соответственно, запускаю:

echo exec('/usr/sbin/service mysql status');

Выдает

MySQL is stopped..

При этом если этот же код

/usr/sbin/service mysql status

запустить из консоли, выдает нормальную статистику (пока работаю, mysql включен).

Как такое возможно? Почему он не ругается как-либо, а выдает некорректные данные? И, собственно, что делать, как это исправить?

Помогите, пожалуйста, очень надо.

UPD. Мне нужно запускать SH, а не что-либо другое

Вопрос закрыт, обошла его с другой стороны. Как говорится - пока не спросишь кого-нибудь, сама нифига не поймешь, как исправить. Тот факт, что ответы пришли вообще не в кассу, тут значения не имеет.

Ответы

▲ 1

Интересно, что пишет stopped... Скорее всего прав не хватает.

$  /usr/sbin/service mysql status
[info] MySQL (Percona Server) is stopped..
$ sudo /usr/sbin/service mysql status
[info] /usr/bin/mysqladmin  Ver 8.42 Distrib 5.6.15, for Linux on x86_64
Copyright (c) 2009-2013 Percona LLC and/or its affiliates
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version      5.6.15-63.0
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         3 days 1 hour 45 min 34 sec

Threads: 1  Questions: 133835  Slow queries: 0  Opens: 12287  Flush tables: 1  Open tables: 252  Queries per second avg: 0.504.

Если так?

exec('sudo /usr/sbin/service mysql status', $result);
var_dump($result);

Ещё есть mysql-stat функция. Может вас устроит.

А как обошли? Интересно же)