Вывод консольных команд через php get cutted - PullRequest
1 голос
/ 19 сентября 2011

Когда я запускаю команду ps ax в консоли через шпаклевку, я получаю:

1053  ??  Ss     0:45.47 /usr/local/sbin/nrpe2 -d -c /usr/local/etc/nrpe.cfg
1085  ??  Is     0:00.03 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/MYNAME.pid

Но когда я запускаю эту команду через php:

exec('ps ax', $o);
print_r($o);

Я получаю то же самое, но вырезано !

[27] =>  1053  ??  Ss     0:45.48 /usr/local/sbin/nrpe2 -d -c /usr/local/etc/nrpe.cfg
[28] =>  1085  ??  Is     0:00.03 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-f

Почему все символы с позиции> = 79 усекаются?

1 Ответ

2 голосов
/ 19 сентября 2011

Вот техника, которую мы использовали в нашем сценарии:

exec("export COLUMNS=1000; ps ax | grep $parameter", $results);

Вот что означает COLUMNS :

COLUMNS
   Used by the select builtin command to determine the terminal width when 
   printing selection lists. Automatically set upon receipt of a SIGWINCH. 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...