wkhtmltoimage и PHP отладка - PullRequest
       3

wkhtmltoimage и PHP отладка

1 голос
/ 08 июня 2011

Я пытаюсь использовать wkhtmltoimage в PHP для захвата экрана. Это не работает, но я не знаю, как его отладить. Я связался с администраторами моего сервера, и они сказали, что exec разрешено. Вот моя структура каталогов:

-index.php
-lib/
  -screenshot.php
  -wkhtmltoimage/
     -wkhtmltoimage-i386
     -wkhtmltoimage-amd64

Код в screenshot.php следующий:

function screenshot($url, $save_path, $zoom = 0.5, $width = 500)
{
    $zoom = escapeshellarg($zoom);
    $width = escapeshellarg($width);
    $url = escapeshellarg($url);
    $save_path = escapeshellarg($shell_path);

    print_r(scandir("lib/wkhtmltoimage"));

    $output = array();

    echo exec("./lib/wkhtmltoimage/wkhtmltoimage-i386 --enable-plugins --zoom $zoom --width $width $url test.png", $output);
    echo exec("lib/wkhtmltoimage/wkhtmltoimage-i386 --enable-plugins --zoom $zoom --width $width $url test.png", $output);
    echo exec("./wkhtmltoimage/wkhtmltoimage-i386 --enable-plugins --zoom $zoom --width $width $url test.png", $output);
    echo exec("wkhtmltoimage/wkhtmltoimage-i386 --enable-plugins --zoom $zoom --width $width $url test.png", $output);
    echo exec("./lib/wkhtmltoimage/wkhtmltoimage-amd64 --enable-plugins --zoom $zoom --width $width $url test.png", $output);
    echo exec("lib/wkhtmltoimage/wkhtmltoimage-amd64 --enable-plugins --zoom $zoom --width $width $url test.png", $output);
    echo exec("./wkhtmltoimage/wkhtmltoimage-amd64 --enable-plugins --zoom $zoom --width $width $url test.png", $output);
    echo exec("wkhtmltoimage/wkhtmltoimage-amd64 --enable-plugins --zoom $zoom --width $width $url test.png", $output);

    print_r($output);
    die();
}

index.php вызывает скриншот функции по URL "http://www.nasa.gov/".

Вот вывод, который я получаю:

Array
(
    [0] => .
    [1] => ..
    [2] => wkhtmltoimage-amd64
    [3] => wkhtmltoimage-i386
)
Array
(
)

Видимо, я даже не уверен, откуда возникла ошибка. Может быть, что путь неправильный, или что входные данные неверны, но я не знаю, как получить какие-либо выходные данные по этим факторам. Кажется, даже функция не возвращает ни одной строки вывода через мой массив.

Как я могу отладить это? С чего мне начать? Существуют ли функции PHP для проверки каталогов или выполнения файлов?

1 Ответ

2 голосов
/ 20 июня 2011

Глупая ошибка, мне пришлось использовать корневой путь.(например, /home/...)

Кто-нибудь также чувствует, что половина времени в веб-разработке тратится впустую на решение проблем пути?Хмм.

...