В очередной рас столкнулся с непонятным.
Установил в Ubuntu дополнение CutyCapt - кто не знает что это.
CutyCapt - Программа которая делает скриншорты с под сервера..
Вот подробная инфа по установки данной программки силка
Сам прикол в том что после установки выполняю тестовую команду
sudo xvfb-run --server-args="-screen 0, 600x250x8" cutycapt --url=http://yandex.ru --min-width=600 --min-height=250 --out=/home/yandex.ru_ru.jpg
делает скриншот идеально..
Но только кода пытаюсь сделать все это через exec то просто напросто скринирование по URL не выходит
Вот сам код:
ini_set('display_errors',1);
error_reporting(E_ALL);
$website_url = $_REQUEST['url'];
function valid_url($url, $absolute = FALSE) {
if ($absolute) {
return (bool)preg_match("
/^ # Start at the beginning of the text
(?:ftp|https?):\/\/ # Look for ftp, http, or https schemes
(?: # Userinfo (optional) which is typically
(?:(?:[\w\.\-\+!$&'\(\)*\+,;=]|%[0-9a-f]{2})+:)* # a username or a username and password
(?:[\w\.\-\+%!$&'\(\)*\+,;=]|%[0-9a-f]{2})+@ # combination
)?
(?:
(?:[a-z0-9\-\.]|%[0-9a-f]{2})+ # A domain name or a IPv4 address
|(?:\[(?:[0-9a-f]{0,4}:)*(?:[0-9a-f]{0,4})\]) # or a well formed IPv6 address
)
(?::[0-9]+)? # Server port number (optional)
(?:[\/|\?]
(?:[\w#!:\.\?\+=&@$'~*,;\/\(\)\[\]\-]|%[0-9a-f]{2}) # The path and query (optional)
*)?
$/xi", $url);
}
else {
return (bool)preg_match("/^(?:[\w#!:\.\?\+=&@$'~*,;\/\(\)\[\]\-]|%[0-9a-f]{2})+$/i", $url);
}
}
function cutycapt($url) {
$screenshots_folder = dirname(__FILE__) . '/cache/'; // Папка для скриншота
$cache_expire_time = 10080;
$image_type = 'jpg';
if (isset($url) && valid_url($url)) {
$website_url = $url;
} else {
die('Missing URL to grab website screenshot.' . $url);
return;
}
$website_url_md5 = md5($website_url);
$cached_filename = $screenshots_folder . $website_url_md5 . '.' . $image_type;
if (!file_exists($cached_filename) || filemtime ($cached_filename) + $cache_expire_time * 60 < time() ) {
@exec('xvfb-run --server-args="-screen 0, 1024x768x24" cutycapt ' . escapeshellarg('--url=' . $website_url) . ' ' . escapeshellarg('--out=' . $cached_filename));
}
if (!file_exists($cached_filename)) {
die('Thumbnail Generation Error. Thumbnail not created.');
return;
} else {
return $cached_filename;
}
}
cutycapt($website_url);
В чем суть таковой проблемы?
Перепробовал уже все..