-1

phantomjs-netsniff コードを実行して、ターミナルで (ルートとして) har ファイルを作成できますが、php を使用して実行すると、har ファイルが作成されますがバイトはありません。同じコードが両方とも実行されました。

php でセーフモードを無効にしました。har 生成フォルダーに対する 777 パーミッションです。私が逃したもの。

私のOSはcentos 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);

?>
4

1 に答える 1

0

常にエラーをチェックする必要があります。これにより、何が問題なのかがわかります。

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

あなたのコメントから、通常は「コマンドが見つからない」ことを意味するリターン コード 127 が返されると言っています。あなたphantomjsの道にいますか?PHP を実行しているユーザーとして入力which phantomjsすると、何が表示されますか? これを回避する簡単な方法は、コマンドでバイナリへのフル パスを指定することです。つまり、コマンド文字列の/path/to/phantomjs代わりに を使用phantomjsします。

于 2015-08-15T18:23:45.737 に答える