Как правильно запустить процесс из PHP?

Связка Nginx + php-fpm
В php выполняю команду:


$exc = 'openssl smime -verify -inform PEM -nointern -certfile ' . $this->_getPublicKey() . ' -CAfile ' . $this->_getPublicKey() . ' -in ' . $fileInName .$
exec($exc);


В файл лога php5-fpm.log сыпится ворнинг:

[01-Apr-2016 17:36:45] WARNING: [pool www] child 14651 said into stderr: "Verification successful"


Verification successful - это результат работы openssl. По идее exec (или system($exec, $result) ) должны вывод процесса выдавать как результат, а на деле результат попадает в php-fpm и он ругается в лог ( как я понял механизм появляения данного лога). Пробовал выолнять процесс разными способами:
system, exec, passtrh, passthru - везде одно и тоже. Как избавится от этого?
  • Вопрос задан
  • 534 просмотра
Решения вопроса 1
@magazovski
Вам же четко написали said into stderr . Это значит ваша команда пишет не в тот поток.

Чтобы перенаправить stderr в stdout надо добавить в конце команды 2>&1

Чтобы перенаправить вникуда: 2>/dev/null
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
nohup вначале добавьте, отцепите процесс
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы