фантомы не работают с помощью exec

я могу запустить код phantomjs-netsniff для создания файла har в терминале (как root), но когда я выполняю его, используя php, он возвращает, создает файл har, но с нулевыми битами. один и тот же код выполняется оба раза.

я отключил безопасный режим в php, разрешение 777 при создании папки. что я пропустил

моя ОС является сентос 64 бит. и я использовал https://phantomjs.googlecode.com/files/phantomjs-1.9.2-linux-x86_64.tar.bz2 установить.

PHP-код

<?php

$rrd= 'phantomjs /var/www/xxx/netsniff.js "http://www.wiki.com" > /var/www/xxx/xx/xx.har';
exec($rrd);

?>

-1

Решение

Вы должны всегда проверять на ошибки; это может сказать вам, что происходит не так:

$output = array();
$returnCode = null;
exec($rrd, $output, $returnCode);
print_r($output);
echo "Return code was $returnCode\n";

Из вашего комментария вы говорите, что получаете код возврата 127, который обычно означает «команда не найдена». Является phantomjs на вашем пути? Если вы печатаете which phantomjs как пользователь, с которым работает PHP, что вы получаете? Простой способ избежать этого — просто указать полный путь к двоичному файлу в команде, т. Е. Использовать /path/to/phantomjs вместо просто phantomjs в командной строке.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]