Грешки MySQL сървър е отишло далеч програмисти хостинг, уеб хостинг
Един от клиентите на нашия чудесен домакин се обърна към нас с подобна грешка с молба "obsnit" защо това се случва и защо ", която носим сървъра?". Благодарение на обработката на искането му стана ясно, че на клиента в един от проектите, извършена скрипт, който в продължение на 3 минути, за да събират статистически данни или в очакване на отговор от страна на външни (трета страна) на приемащата, а след това сценарият е трябвало да "постави" на отговора към базата данни, че е така. д. запази отговор в дадена таблица.
Когато скриптът използва приблизително на цикъла, в който спира при изпълнение на скрипта за 30 секунди:
Т.е. сценария иска да провери текста на уникалността поради външна услуга и направи 4 опита на всеки 30 секунди. Въпреки това, когато сценарият вече е бил обект на успешен отговор от външното домакин на резултатите, и се опита да запази резултатите в база данни, да се измъкнем подъл грешка:
Имаше толкова много емоции от възложителя, тъй като на всички очаквания, това не би трябвало да се случи!
Въпреки това, решението лежеше под носа му, а след това просто лежеше във факта, за да привлече вниманието към стойността на един глобален сървърни променливи MySQL, а именно стойността на променливата connect_timeout = 10 (секунди), който е отговорен за изчакване на връзка с MySQL-сървъра. Т.е. ако по време на тези 10 секунди, работещи скрипт не се опитва да си взаимодействат с MySQL-сървър, се скъса връзката си и трябва да се нулира!
Сега вече знаете как да промените тази част от кода: необходимо е да се намали времето за сън (30) до стойност не prevoskhozhyaschee 10 секунди. И - готово! Сега всичко работи както се очаква!
Така платите vnmianie с такива неща, защото те са доста очевидни, а мисли за логиката на скриптове в дадените специфичните условия -okruzheniya хостинг.