Краткость сестра таланта! Устанавливаем
sudo apt install pigz pbzip2 pxz
tar -I pigz -cf linux-5.10-rc3.tar.gz linux
И проверяем загруженность процессора командами htop или atop
Краткость сестра таланта! Устанавливаем
sudo apt install pigz pbzip2 pxz
tar -I pigz -cf linux-5.10-rc3.tar.gz linux
И проверяем загруженность процессора командами htop или atop
Установить kpartx:sudo apt-get update && sudo apt-get install kpartx
Примонтировать:kpartx -av /path/to/the/image.img
После чего получим приблизтельно такие строи. Где loop5p1, loop5p2, loop5p5 есть диски которые содержаться в образе.
add map loop5p1 (253:0): 0 163577856 linear 7:5 2048
add map loop5p2 (253:1): 0 2 linear 7:5 163581950
add map loop5p5 (253:2): 0 4188160 linear 7:5 163581952
Монтируем образы в папки:
mount /dev/mapper/loop5p1 /mnt/myimage5p1 mount /dev/mapper/loop5p2 /mnt/myimage5p2 mount /dev/mapper/loop5p4 /mnt/myimage5p4
Отмонтировать диски:
umount /mnt/myimage5p1
umount /mnt/myimage5p2
umount /mnt/myimage5p4
Отмонтируем образ:
kpartx -dv /path/to/the/image.img
Debian
vi /etc/network/interfaces
iface eth0 inet static address ip_addr netmask 255.255.255.255 gateway gw_ip_addr pointopoint gw_ip_addr
CentOS
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 HWADDR=mac_address ONBOOT=yes BOOTPROTO=static SCOPE="peer gw_ip_addr" IPADDR=ip_addr
/etc/sysconfig/network-scripts/route-eth0
ADDRESS0=0.0.0.0 NETMASK0=0.0.0.0 GATEWAY0=
В данной статье ниже мы приводим примеры работы с данным протоколом
1) Отправить HTTP GET Запрос с CURL
2) Отправить HTTP POST Запрос с CURL
3) Отправить Random User-Agent в Запросе
4) Обработка перенаправление redirects ( HTTP 301, 302 )
5) Ошибки обработки ( Handle Errors ).
Почему мы используем PHP CURL ?
Отправить HTTP GET запрос, простой способ использовать метод file_get_contents().
file_get_contents('http://it.w-develop.com')
Но для использования POST запроса и использовать Обработчик ошибок не так просто в месте с командой file_get_contents().
Отправить HTTP запрос очень просто с PHP CURL. Вам надо выполнить четыре шага для отправки запроса
Шаг 1). Инициализация CURL сессии
Шаг 2). Заполняем options для CURL сессии
curl_setopt( $ch, CURLOPT_URL, "http://it.w-develop.com" ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); //curl_setopt( $ch, CURLOPT_HEADER, true ); // Если вы хотите использовать заголовки
CURLOPT_URL -> URL для загружки
CURLOPT_HEADER -> добавляем header/not
CURLOPT_RETURNTRANSFER -> если true, информация вернется как строка, а не выводит ее.
Полный список опций, смотри в документации PHP Documentation.
Шаг 3). Загружаем CURL сессию. $output=curl_exec($ch);
Шаг 4). Зарываем сессию curl_close($ch);
Note: Вы можете проверить, включен CURL enabled/not со следующим кодом. if( is_callable( 'curl_init' ) ){ echo "Enabled"; } else { echo "Not enabled"; }
1.PHP CURL GET Пример
You can use the below code to send GET request.
function httpGet( $url ) { $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); // curl_setopt( $ch, CURLOPT_HEADER, false ); $output=curl_exec( $ch ); curl_close( $ch ); return $output; } echo httpGet("http://it.w-develop.com");
2.PHP CURL POST Пример
You can use the below code to submit form using PHP CURL.
function httpPost( $url, $params ) { $postData = ''; //create name value pairs seperated by & foreach( $params as $k => $v ) { $postData .= $k . '='.$v.'&'; } $postData = rtrim( $postData, '&' ); $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL,$url ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER,true ); curl_setopt( $ch, CURLOPT_HEADER, false ); curl_setopt( $ch, CURLOPT_POST, count($postData ) ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $postData ); $output = curl_exec( $ch ); curl_close( $ch ); return $output; }
How to use the function:
$params = array( "name" => "Ravishanker Kusuma", "age" => "32", "location" => "India" ); echo httpPost( "http://it.w-develop.com/examples/php/curl-examples/post.php", $params );
3.SEND RANDOM USER-AGENT IN THE REQUESTS
You can use the below function to get Random User-Agent.
function getRandomUserAgent() { $userAgents=array( "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)", "Opera/9.20 (Windows NT 6.0; U; en)", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.50", "Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Opera 7.02 [en]", "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; fr; rv:1.7) Gecko/20040624 Firefox/0.9", "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/48 (like Gecko) Safari/48" ); $random = rand(0,count($userAgents)-1); return $userAgents[$random]; }
Используется CURLOPT_USERAGENT, Вы можете установить User-Agent string.
curl_setopt( $ch, CURLOPT_USERAGENT, getRandomUserAgent()) ;
4. HANDLE REDIRECTS (HTTP 301,302)
Обрабатывать URL redirects, set CURLOPT_FOLLOWLOCATION to TRUE.Максимальное количество переадресаций можно контролировать, используя CURLOPT_MAXREDIRS.
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,TRUE); curl_setopt($ch,CURLOPT_MAXREDIRS,2);//only 2 redirects
5. КАК ОБРАТИТЬ ОШИБКИ CURL
мы можем использовать методы curl_errno(), curl_error(), Чтобы получить последние ошибки для текущего сеанса.
curl_error( $ch ) -> returns error as string
curl_errno( $ch ) -> returns error number
Вы можете использовать приведенный ниже код для обработки ошибок.
function httpGetWithErros( $url ) { $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); $output=curl_exec( $ch ); if ( $output === false ) { echo "Error Number:" . curl_errno( $ch ) . "
"; echo "Error String:" . curl_error( $ch ); } curl_close($ch); return $output; }
Вывод полного списока ошибок, refer CURL errors
Решил написать сегодня небольшую, но очень важную статью об параметрах которые находятся в PHP:
post_max_size = 512M
Максимально допустимый размер данных, отправляемых через методом POST. Этот параметр влияет на объем передаваемых данных методом POST, так же важно учитывать его при реализации загрузки файлов через скрипты, в частности на размер файла эта директива и влияет. По умолчанию данный параметр стоит 8Мб.
post_max_vars = 2000
Если про post_max_size все хорошо описано в мануале и он есть по умолчанию в конфигурации php, то про параметр post_max_vars глухая тишина. Так что же это такой за параметр. Post_max_vars указывает интерпретатору сколько будет обрабатываться строк в POST запросе, ограничение стоит по умолчанию 200 строк.
Для крупных проектов, особенно реализованных на таких тяжеловесах как Битрикс это довольно мало.
Поэтому, если вы столкнулись с проблемой, когда при сохранении данных вы получается обрезанный POST массив или массив в котором только часть передаваемых строк, значит вам нужно не искать ошибку в вашем скрипте, а менять параметры на сервере. Если такой возможности нет, значит надо переделывать скрипт так, что бы он не превышал лимитов.
max_input_vars = 2000
Сколько входных переменных может быть принято в одном запросе (ограничение накладывается на каждую из глобальных переменных $_GET, $_POST и $_COOKIE отдельно). Использование этой директивы снижает вероятность сбоев в случае атак с использованием хеш-коллизий. Если входных переменных больше, чем задано директивой, выбрасывается предупреждение E_WARNING, и все последующие переменные в запросе игнорируются. Это ограничение применяется к каждому уровню вложенности входного многомерного массива.
Ограничение стоит по умолчанию 200 строк.
Поменяем в php.ini.
Параметр post_max_size уже там указан, и достаточно найти его поиском и поменять, тогда как post_max_vars придется дописать, например под post_max_size, с max_input_vars мы поступим таким же образом.