Jump to content

Recommended Posts

Здравствуйте, такая проблема поменял сервер со слабого на более мощный  и стала  идти нагрузка на сервер постоянно    в  логах идёт

[Sat Apr 17 03:43:53.915268 2021] [:error] [pid 18074] [client 51.15.47.12:40982] PHP Warning: pack() [<a href='function.pack'>function.pack</a>]: Type H: illegal hex digit \x01 in /var/www/www-root/data/www/***/scrape.php on line 53
 Подскажите пожалуйста в чем проблема?

Link to post
Share on other sites
Только что, files сказал:

а в строке 53 файла scrape.php что?

При смене сервера раньше никогда изменения не делались в этом фале

Link to post
Share on other sites
  • Модератор

Функция pack лишь преобразовывает числа, например шестнадцатеричное число в двоичное.

В данном случае лишь предупреждение о неправильном преобразовании входящей переменной (возможно, там нет числа). Это никак не должно отразится на работоспособности сайта, разве что-там лицензия проверяется, принадлежность к домену и т.д.

Можно задокументировать строчку,так

//$r .= "20:" . pack("H*", ($row["info_hash"])) . "d" .

чтобы проверить, создает ли она проблемы с нагрузкой?

 

Link to post
Share on other sites
Только что, files сказал:

Функция pack лишь преобразовывает числа, например шестнадцатеричное число в двоичное.

В данном случае лишь предупреждение о неправильном преобразовании входящей переменной (возможно, там нет числа). Это никак не должно отразится на работоспособности сайта, разве что-там лицензия проверяется, принадлежность к домену и т.д.

Можно задокументировать строчку,так

//$r .= "20:" . pack("H*", ($row["info_hash"])) . "d" .

чтобы проверить, создает ли она проблемы с нагрузкой?

 

Проверил , да  создает именно он , нагрузка упала с 361 процесса на 177

Link to post
Share on other sites
Только что, Shed сказал:

Проверил , да  создает именно он , нагрузка упала с 361 процесса на 177

хотя возможно ошибаюсь ,сейчас  понаблюдаю(

Link to post
Share on other sites
Только что, files сказал:

Функция pack лишь преобразовывает числа, например шестнадцатеричное число в двоичное.

В данном случае лишь предупреждение о неправильном преобразовании входящей переменной (возможно, там нет числа). Это никак не должно отразится на работоспособности сайта, разве что-там лицензия проверяется, принадлежность к домену и т.д.

Можно задокументировать строчку,так

//$r .= "20:" . pack("H*", ($row["info_hash"])) . "d" .

чтобы проверить, создает ли она проблемы с нагрузкой?

 

Проверил , нагрузка уменьшилась  ошибки в логах исчезли, Подскажи пожалуйста к к поправить  можно   что  функция работала?

Link to post
Share on other sites
  • Модератор

Сделать это в режиме чата практически невозможно! Не ясно: что, как, где генерируется там в переменных!

Link to post
Share on other sites
  • Модератор

Как вариант решения, поставьте ту же версию PHP что и изначально стояла!

Или вместо

$r .= "20:" . pack("H*", ($row["info_hash"])) . "d" .


написать:

$r .= "20:" . pack("H*", (str_replace(' ', '', $row["info_hash"]))) . "d" .

P.S. Поиск показывает, вариант возможной проблемы:

Поскольку целочисленный тип PHP подписан, многие контрольные суммы crc32 будут давать отрицательные целые числа на 32-битных платформах. Однако на 64-битных установках все результаты crc32 () будут положительными целыми числами.

Link to post
Share on other sites
Только что, files сказал:

Как вариант решения, поставьте ту же версию PHP что и изначально стояла

Спасибо за помощь

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...