Архив

Статии по ключова дума: ‘B3’

perror и как той ще ни помогне да разрешаваме проблемите в MySQL

1 ноември, 2009 Няма коментари

perror е конзолно приложение от пакета MySQL което има за цел да извежда грешките по зададен "номер на грешка". На всеки се е случвало в MySQL да получи грешка  и да се чуди какво означава "Got error 29 … (Errcode: 24) …". Повечето хора веднага започват да търся в google какво означава това, но благодарение на perror това не е необходимо. От терминала си просто изпълнете perror с аргумент номера на грешката и ще получите отговор какъв е проблема в MySQL(не в MySQL, а какво не е конфигурирано правилно в MySQL).
Пример за за използване на perror за търсене на грешка с номер 28 :

# perror 28
OS error code  28:  No space left on device

От отговора на perror става ясно къде е проблема. решението ставям на вас ;)

За мое и ваше улеснение ще предоставя номерата на грешките и техните описания според perror:

OS error code   1:  Operation not permitted
OS error code   2:  No such file or directory
OS error code   3:  No such process
OS error code   4:  Interrupted system call
OS error code   5:  Input/output error
OS error code   6:  No such device or address
OS error code   7:  Argument list too long
OS error code   8:  Exec format error
OS error code   9:  Bad file descriptor
OS error code  10:  No child processes
OS error code  11:  Resource temporarily unavailable
OS error code  12:  Cannot allocate memory
OS error code  13:  Permission denied
OS error code  14:  Bad address
OS error code  15:  Block device required
OS error code  16:  Device or resource busy
OS error code  17:  File exists
OS error code  18:  Invalid cross-device link
OS error code  19:  No such device
OS error code  20:  Not a directory
OS error code  21:  Is a directory
OS error code  22:  Invalid argument
OS error code  23:  Too many open files in system
OS error code  24:  Too many open files
OS error code  25:  Inappropriate ioctl for device
OS error code  26:  Text file busy
OS error code  27:  File too large
OS error code  28:  No space left on device
OS error code  29:  Illegal seek
OS error code  30:  Read-only file system
OS error code  31:  Too many links
OS error code  32:  Broken pipe
OS error code  33:  Numerical argument out of domain
OS error code  34:  Numerical result out of range
OS error code  35:  Resource deadlock avoided
OS error code  36:  File name too long
OS error code  37:  No locks available
OS error code  38:  Function not implemented
OS error code  39:  Directory not empty
OS error code  40:  Too many levels of symbolic links
OS error code  42:  No message of desired type
OS error code  43:  Identifier removed
OS error code  44:  Channel number out of range
OS error code  45:  Level 2 not synchronized
OS error code  46:  Level 3 halted
OS error code  47:  Level 3 reset
OS error code  48:  Link number out of range
OS error code  49:  Protocol driver not attached
OS error code  50:  No CSI structure available
OS error code  51:  Level 2 halted
OS error code  52: Invalid exchange
OS error code  53:  Invalid request descriptor
OS error code  54:  Exchange full
OS error code  55:  No anode
OS error code  56:  Invalid request code
OS error code  57:  Invalid slot
OS error code  59:  Bad font file format
OS error code  60:  Device not a stream
OS error code  61:  No data available
OS error code  62:  Timer expired
OS error code  63:  Out of streams resources
OS error code  64:  Machine is not on the network
OS error code  65:  Package not installed
OS error code  66:  Object is remote
OS error code  67:  Link has been severed
OS error code  68:  Advertise error
OS error code  69:  Srmount error
OS error code  70:  Communication error on send
OS error code  71:  Protocol error
OS error code  72:  Multihop attempted
OS error code  73:  RFS specific error
OS error code  74:  Bad message
OS error code  75:  Value too large for defined data type
OS error code  76:  Name not unique on network
OS error code  77:  File descriptor in bad state
OS error code  78:  Remote address changed
OS error code  79:  Can not access a needed shared library
OS error code  80:  Accessing a corrupted shared library
OS error code  81:  .lib section in a.out corrupted
OS error code  82:  Attempting to link in too many shared libraries
OS error code  83:  Cannot exec a shared library directly
OS error code  84:  Invalid or incomplete multibyte or wide character
OS error code  85:  Interrupted system call should be restarted
OS error code  86:  Streams pipe error
OS error code  87:  Too many users
OS error code  88:  Socket operation on non-socket
OS error code  89:  Destination address required
OS error code  90:  Message too long
OS error code  91:  Protocol wrong type for socket
OS error code  92:  Protocol not available
OS error code  93:  Protocol not supported
OS error code  94:  Socket type not supported
OS error code  95:  Operation not supported
OS error code  96:  Protocol family not supported
OS error code  97:  Address family not supported by protocol
OS error code  98:  Address already in use
OS error code  99:  Cannot assign requested address
OS error code 100:  Network is down
OS error code 101:  Network is unreachable
OS error code 102:  Network dropped connection on reset
OS error code 103:  Software caused connection abort
OS error code 104:  Connection reset by peer
OS error code 105:  No buffer space available
OS error code 106:  Transport endpoint is already connected
OS error code 107:  Transport endpoint is not connected
OS error code 108:  Cannot send after transport endpoint shutdown
OS error code 109:  Too many references: cannot splice
OS error code 110:  Connection timed out
OS error code 111:  Connection refused
OS error code 112:  Host is down
OS error code 113:  No route to host
OS error code 114:  Operation already in progress
OS error code 115:  Operation now in progress
OS error code 116:  Stale NFS file handle
OS error code 117:  Structure needs cleaning
OS error code 118:  Not a XENIX named type file
OS error code 119:  No XENIX semaphores available
OS error code 120:  Is a named type file
OS error code 121:  Remote I/O error
OS error code 122:  Disk quota exceeded
OS error code 123:  No medium found
OS error code 124:  Wrong medium type
OS error code 125:  Operation canceled
MySQL error code 126: Index file is crashed
MySQL error code 127: Record-file is crashed
MySQL error code 128: Out of memory
MySQL error code 130: Incorrect file format
MySQL error code 131: Command not supported by database
MySQL error code 132: Old database file
MySQL error code 133: No record read before update
MySQL error code 134: Record was already deleted (or record file crashed)
MySQL error code 135: No more room in record file
MySQL error code 136: No more room in index file
MySQL error code 137: No more records (read after end of file)
MySQL error code 138: Unsupported extension used for table
MySQL error code 139: Too big row
MySQL error code 140: Wrong create options
MySQL error code 141: Duplicate unique key or constraint on write or update
MySQL error code 142: Unknown character set used
MySQL error code 143: Conflicting table definitions in sub-tables of MERGE table
MySQL error code 144: Table is crashed and last repair failed
MySQL error code 145: Table was marked as crashed and should be repaired
MySQL error code 146: Lock timed out; Retry transaction
MySQL error code 147: Lock table is full;  Restart program with a larger locktable
MySQL error code 148: Updates are not allowed under a read only transactions
MySQL error code 149: Lock deadlock; Retry transaction
MySQL error code 150: Foreign key constraint is incorrectly formed
MySQL error code 151: Cannot add a child row
MySQL error code 152: Cannot delete a parent row

Inappropriate ioctl for device
Categories: sadmin Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Често срещани проблеми с encoding при php

19 октомври, 2009 Няма коментари

Случвало ли ви се е да имате стринг които е написан с cp1251 и които да искате да конвертирате в utf-8. Най- вероятно да, но случвало ли ви се е да имате стринг които е написан или на cp1251 или на utf-8 предполагам, че на доста няма да им се е налагало затова реших да напиша тази публикация за лесното на следващите след мен.
Имаме стринг "Това е текст" но незнаем на какъв енкодинг е. Преди да го конвертираме в utf-8 или cp-1251 първо трябва да знаем какъв е и след това е ясно. Ето разиграно решение:

<?php

$s_utf8=iconv("CP1251","UTF-8","Това е текст- ЮТФ-8");
$s_cp1251="Това е текст- ЦП1251";

$check1=mb_detect_encoding($s_utf8,'UTF-8,CP1251');
$check2=mb_detect_encoding($s_cp1251,'UTF-8,CP1251');

echo "[$s_utf8 <-><b>$check1</b>] -- [$s_cp1251 <-> <b>$check2</b>]";

?>

Ето примерен проблем при конвертиране с iconv:

<?php
iconv("UTF-8","CP1251",$s_cp1251);
iconv("CP-1251","UTF-8",$s_utf8);
?>

В горното казваме, че искаме да конвертираме UTF-8 към cp-1251, но това няма как да се реализира понеже стринга е CP1251. Същата тази грешка се получава и при следващото . Именно поради тази причина преди да се конвертира даден стринг към друг енкодинг трябва да се знае какъв е бил преди и какъв да бъде след.

Ето ви две функции за конвертиране от UTF8 към CP1251 и втората отново за конвертиране на CP1251 към UTF8, но с проверка за текущия входящ стринг. При тези две функции може да конвертирате без наличие на iconv.

function cp1251_to_utf8($s)
{
function detect_encoding($string)
{
static $list = array('utf-8', 'windows-1251');
foreach ($list as $item)
{
$sample = iconv($item, $item, $string);
if (md5($sample) == md5($string))
return $item;
}
return null;
}

if ( (detect_encoding($s)) == "windows-1251")
{
$c209 = chr(209); $c208 = chr(208); $c129 = chr(129);
for($i=0; $i<strlen($s); $i++)
{
$c=ord($s[$i]);
if ($c>=192 and $c<=239) $t.=$c208.chr($c-48);
elseif ($c>239) $t.=$c209.chr($c-112);
elseif ($c==184) $t.=$c209.$c209;
elseif ($c==168)    $t.=$c208.$c129;
else $t.=$s[$i];
}
return $t;
}
else
{
return $s;
}
}//End of function cp1251_to_utf8($s)

function utf8_to_cp1251($s)
{
if ((mb_detect_encoding($s,'UTF-8,CP1251')) == "UTF-8")
{
for ($c=0;$c<strlen($s);$c++)
{
$i=ord($s[$c]);
if ($i<=127) $out.=$s[$c];
if ($byte2)
{
$new_c2=($c1&3)*64+($i&63);
$new_c1=($c1>>2)&5;
$new_i=$new_c1*256+$new_c2;
if ($new_i==1025)
{
$out_i=168;
} else {
if ($new_i==1105)
{
$out_i=184;
} else {
$out_i=$new_i-848;
}
}
$out.=chr($out_i);
$byte2=false;
}
if (($i>>5)==6)
{
$c1=$i;
$byte2=true;
}
}
return $out;
}
else
{
return $s;
}
}

Страхотен руски анти радар

8 октомври, 2009 2 коментари

anti_radar_saverПреди месец едни приятели които имат магазин за авто части ми препоръчаха руски ниско бюджетен еквивалент на анти радар Cobra, а именно Saver. Много ме заинтригува понеже силно вярвам в по- скъпите неща понеже при повечето има логика да са така скъпи. След като ме убедиха си го купих за 35 лв.(Анти радарите Кобра струват 200-300 лв.) просто за пробата. Измина близо месец и след много каране не успях да разбера дали работи("Проблема" беше, че не карам вечер, а именно тогава има много наблюдатели от КАТ :) ). Тази вечер се пребирам и Анти радара Saver започна да бибитка малко по малко след няколко секунди бибиткането зачести и след няколко секунди започна да бибитка в права линия. Предположих, че ми сигнализира за сканиране с анти радар и Voilah имаше наблюдатели които ми навлизаха в личното пронстранство с тези лъчи. Междо другото не беше необходимо да намалявам скоростта понеже карам с нормална скорост, а и там нямаше как да карам с по- висока понеже беше наклон нагоре затова и сигнализирането не беше много време по- рано.

Тук е момента да приложа как се ползва:

Приборът АНТИРАДАР  Север G-213 е с гаранция ,предназначен за откриване на радари, фиксиращи скоростта. Той не пречи на  полицейските радари и не е забранен за ползуване.

Този модел антирадар е един от най-ефективните прибори за откриване на радарно облъчване. АНТИРАДАРЪТ работи в автоматичен режим и не изисква каквито и да е настройки.
Конструкцията на АНТИРАДАРА и употребяваните вносни възли гарантират безотказната работа в продължение на много години.

2. Поставяне на антирадара

За постигане на максимална ефективност на работа се препоръчва поставяне на радар-детектора в един от двата варианта.

2.1. На защитената от слънце козирка с използване на пружинна скоба. закрепването на скобата става като я поставяте в прореза на долната част на уреда до упор, при това трябва да се следи за появяването на пружинката в улея на корпуса. При необходимост, да се прибере пружината, просто трябва да се изтегли.

2.2. Чрез закрепване върху приборния панел.

Внимание! Между външния радар измерващ скоростта и приемателната повърхност на радар- детектора не трябва да има слънце защитни, метализирани лепенки, възможно е да отслабят или блокират напълно входящия сигнал. Включването на радар-детектора в електро-мрежата на автомобила става с помощта на специален кабел с два щекера.

Внимание! Забранява се оставянето на кабела под напрежение при снет уред. При подаване на напрежение се включва зеления индикатор “PWR”. При всяко включване, става автоматично тестването на прибора.

3. Работа на прибора

При приближаване на Вашият автомобил към зоната на радарния контрол на скоростта, детектора Ви известява със звуков и светлинен сигнал. Вие можете да намалите скоростта по-рано, преди да стане известна на КАТ.
Докато се приближавате към радара, честотата на звуковия сигнал се увеличава и по ред се запалват червените индикатори. В зоната на пряка видимост, сигналът звучи непрекъснато и светят три червени индикатори. Моделът има два режима на работа: “ГРАД” и “ТРАСЕ”.

В режим “ГРАД” (свети зелен индикатор “City”) приборът обезпечава максимална защита от лъжливи сработвания от многочислени източници на излъчване (TV, телефонни връзки, различни сигнализации и др.) Звуковия сигнал в режим “ГРАД” се появява само с второто ниво на индикация (светят два или три червени индикатори).

В режим “ТРАСЕ” детекторът осигурява максимална далечина. Превключването на режима се осъществява с последователно натискане на бутона “City”.

Забележка: При режим “ТРАСЕ” вследствие на високата чувствителност са възможни кратковременни сигнали за тревога в места със силно електромагнитно поле, а така също от приемане на паразитни излъчвания на радар-детектори, поставени на насрещните автомобили.
Пояснение: Болшинството чужди радар-детектори имат паразитно излъчване, като създават смущения във всички радар-детектори в насрещните или редом движещи се автомобили.

Предлагания модел G-213 не създава, каквито и да е излъчвания и радио-смущения и не пречи на работата на полицейските радари.

G-213, това е чист приемник на CB4 – облъчвания, който не може да бъде открит от каквото и да било разстояние.

Наличието на детектора във Вашия автомобил не може да се явява причина или санкции от страна на КАТ.

За повишаване на комфорта при ползване на прибора, може да се приглуши звуковия сигнал. Затова трябва да се натисне бутонът “MUTE” (светва зеления индикатор “MUTE”) като светлинната индикация работи без изменение.

При всяко включване на уреда – радар-детекторът автоматично се установява в режим “ТРАСЕ” и “ПЪЛНА ЗВУКОВА МОЩНОСТ”.

Технически характеристики

Диапазон на работни честоти 10,500 – 10,550

Максимална далечина откриваща радара в километри 5,0
Напрежение на захранване 12; +4,0; -1,5
Ток работен мАмпера не повече от 30
Диапазон на работна температура от -20 до + 50
Тежина в грама 120

Обслужваното разстояние (далечината) зависи от много фактори (релеф на местността, метео-условия, ниво на електромагнитните смущения) и може да се намали. Разбира се от същите условия зависи и дължината, на която е възможно измерване на скоростта на Вашия автомобил. Ето защо, радар-детектора поставен на Вашия автомобил постоянно обезпечава предимството пред полицейския радар.

Основни плъгини за wordpress

29 юли, 2009 Няма коментари

Лого на WordpressДнес един приятел (Hip0) реши да обнови стария си уеб сайт с нов. Препоръчах му да си сложи Wordpress понеже е лесен за инсталиране, менажиране и има доста свободни плъгини и теми.

Той много не искаше да инсталира Wordpress понеже не обича да ползва особено много готови неща и искаше да си напише сам(явно си приличаме по това), НО искаше бърза промяна за сайта което няма как да стане като го напише от нула. Предполагам, че го навих да си го инсталира сега ще му кажа и какви плъгини да си сложи за да му се улесни още повече живота.

Плъгин: Cyr2Lat Slugs
Автор: Ruslan Ulanov
Адрес: http://wordpress.org/extend/plugins/cyr2lat-slugs/
Описание: Чрез този плъгин се предоставя възможност за автоматично конвертиране на URL от кирилица на латиница. Пример: http://mpetrov.net/за-мен <-> http://mpetrov.net/za-men

Бележка: За да се използва този плъгин е правилно да се използва друга структура за URL адресите, а именно от Категория "Настройки"-> "Постоянно връзки" и в секция"Различна структура" поставяте /%postname% . По този начин URL адресът на всяка публикация ще бъде заглавието и.

Плъгин: Google XML Sitemaps
Автор: Arne Brachhold

Адрес: http://wordpress.org/extend/plugins/google-sitemap-generator/
Описание: Автоматично създава sitemap.xml. Информация за sitemap.xml има навсякъде, но накратко: Предоставя възможност да се постави в Google Webmaster Tools, респективно с това спомага за по- бързо индексиране на съответния блог.

Плъгин: All in One SEO Pack
Автор: hallsofmontezuma

Адрес: http://wordpress.org/extend/plugins/all-in-one-seo-pack/
Описание: Полезен SEO инструмент които има доста полезни възможности.

Плъгин: Belavir
Автор: Юрий Белотицкий

Адрес: http://mywordpress.ru/plugins/belavir/
Описание: Възможност за следене на промените по файловете в блога.

GLOBUL предлага предплатени пакети за мобилен интернет

25 юли, 2009 Няма коментари

globul_logoСофия, 12 февруари 2009 г. – От 15 февруари, GLOBUL предлага предплатени стартови пакети за мобилен интернет. Потребителите, които предпочитат да ползват мобилен интернет от GLOBUL без да подписват абонаментен договор, могат да изберат най-подходящото от двете предложения на оператора.

Първото предложение включва GLOBUL 3G Connect Center с USB-модем ZTE MF 626 и SIM-карта с включени 2 GB трафик, валидни за период от 31 дни, на пакетната цена от 99,90 лв. За потребителите, които вече имат USB или PCMCIA модем е второто предложение на оператора, което включва SIM-карта за достъп до интернет през мрежата на GLOBUL с пакет GoWeb 1 GB, с период на валидност 31 дни, на цена от 29,90 лв.

След изчерпването на включените MB трафик, абонатите имат възможност да презаредят своя предплатен пакет с пакет за презареждане GLOBUL GoWeb 512MB или GoWeb 1GB, като могат сами да избeрат периодa на активност на новия пакет. Пакетът за презареждане GoWeb 512MB струва 19,90 лв. при период на валидност 31 дни или 29,90 лв. при период на валидност 93 дни. Пакетът за презареждане GoWeb 1GB е на цена от 29,90 лв. при срок на валидност от 31 дни или 39,90 лв. за срок от 93 дни.

За презареждането е необходимо потребителят да има съответната сума като наличност в SIM-картата. Кредитът на картата може да се презареди чрез ваучери за предплатената услуга b-connect или чрез услугата CASH REFRESH, чрез плащане през банкомат, банков превод или чрез останалите начини за презареждане на предплатени карти.

За активиране на нов предплатен пакет за мобилен интернет, потребителят изпраща безплатен SMS до номер 125 с кода на избрания пакет за презареждане. За пакет GLOBUL GoWeb 512MB с валидност 31 дни, кодът е GA51, за пакет GLOBUL GoWeb 512MB с валидност 93 дни, кодът е GA53. за предплатен пакет GLOBUL GoWeb 1GB със срок на валидност 31 дни, кодът е GA101, a за пакет GoWeb 1GB с валидност от 93 дни, кодът е GA103.

Всяко добавяне на предплатен пакет GoWeb към удължава срока на наличния, а остатъкът от неизползвани MB се натрупва. Абонатът може по всяко време да провери оставащите MB трафик и валидност от закупения пакет с SMS с текст “GC” до номер 125.

Подробна информация за пакетите и начините за презареждане на предплатени пакети за мобилен интернет от GLOBUL е публикувана на официалната интернет страница на компанията www.globul.bg, телефон 123 и търговската мрежа на GLOBUL и партньорите на компанията.

Suhosin и максимален брой $_POST променливи

12 декември, 2008 Няма коментари

Днес ми се наложи в една html форма да сложа 500 $_POST променливи(input полета и форма с method='post')  и да ги събмитна(изпратя|submit). Обаче когато ги изпратя не се случваше нищо. Странно. Започнах да изследвам проблема и установих, че ако $_POST променливите(input полетата) са 199 ги изпраща към Apache и си работи напълно коректно, обаче когато са повече от 199 не иска да ги изпрати. След 168 часа(шегувам се) се сетих, че имам инсталиран Suhosin и от него може да се ограничава именно броя на $_POST променливите. Редактирах конфигурационния файл на suhosin (или php.ini зависи как е конфигурирано)  да пуска 2000 $_POST променливи и всичко се нареди както перфектно нареждане на Рубик.

/etc/php5/apache2/conf.d/suhosin.ini
# configuration for php suhosin module
extension=suhosin.so
suhosin.post.max_vars = 2000
suhosin.request.max_vars = 2000

cat interesno.php
<?php
$max_input=198; //Работи със стойностите по подразбиране в Suhosin
#$max_input=298; //Работи с НОВИТЕ стойности  в Suhosin
if (!($_POST['submit']))
{
echo "<form action=" method='post'>";
for ($i=0;$i<=$max_input;$i++) { echo "<input type='text' value='$i' name='dhstudio$i'><br>"; };
echo "<input type='submit' name='submit' value='ribka'></form>";
}
else
{
foreach ( $_POST as $key => $value ) {  print $key . " " . "=" . " " . $value;  print "<br>"; }
};
?>
Хей за хората които не ползват Suhosin или ползват най- обикновен Apache(нямам впредвид буквално най- обикновен) с php няма да го имат този проблем т.е. могат да добавят много голям брой $_POST заявки.