Можно полагать, что хеши SHA1 абсолютно случайны, таким образом, это уменьшает до вопроса вероятностей. Вероятность, что данная цифра не является числом, является 6/16, или 0.375. Вероятность, что три цифры SHA1 - все не числа, 0.375 ** 3, или 0.0527 (5%-й выход). В шести цифрах это уменьшает снова до 0,00278 (0,2%). В пяти цифрах вероятность всех букв опускается ниже 1% (Вы сказали, что хотели соответствовать 99% времени).
легко обработать регулярное выражение, которое всегда соответствует значениям SHA1:
\b[0-9a-f]{5,40}\b
Однако это может также распознать совершенно хорошие пять слов буквы, как "добавленный" или "увядшее". В моем /usr/share/dict/words
файл, существуют несколько шесть слов буквы, которые соответствовали бы: "согласитесь", "украшенные бисером", "уложенные спать", "десятилетие", "сотрите", "вычеркните", и "фасад" наиболее вероятен. В семи буквах, существует только "deedeed", который вряд ли появится в прозе. Все это зависит от того, сколько ложных положительных сторон можно терпеть, и каковы вероятные слова, с которыми Вы встретитесь на самом деле.
Обычно, когда я сталкиваюсь с этим, это была фатальная ошибка в PHP. Взгляните на свой журнал PHP-cgi, чтобы узнать, есть ли он там. В журнале nginx должно быть что-то вроде этого: 104: Сброс соединения одноранговым узлом
. В зависимости от ваших настроек этот (извините, ссылка не работает) может помочь, но если вы используете php-fpm , этого не произойдет.
502 ошибки обычно возникают, когда PHP выходит из себя по какой-то причине. Первое, что вам нужно сделать, это проверить все свои файлы журналов. Сюда входят системные данные в / var / log / и журналы nginx.
Если вы не делали никаких последних изменений и проблема только что начала возникать без видимой причины, возможно, PHP не хватает памяти. Я знаю, что когда это происходит как модуль Apache, он дает пустой экран - не удивлюсь, если произойдет ошибка 502 под nginx и интерфейсом FastCGI. Это легко исправить, поместив ini_set ('memory_limit', '256M') в ваш index.php и посмотрите, решит ли это проблему.
Кроме того, можете ли вы загрузить отдельные файлы PHP, которые не работают. не задействовать Drupal? Поместите установку Php phpinfo ();
Если проблема только началась .. Прочтите выше .. если сервер новый, просто установите, попробуйте эту команду, чтобы увидеть, прослушивает ли он его порт
netstat -lpn | grep ":9000"
. Если, конечно, вы могли настроить fast-cgi для работы на другом порту, просто замените порт 9000 в этом операторе любым портом вы ищете ... Если ничего не отображается, вероятно, этот порт ничего не прослушивает, и вам необходимо сначала решить эту проблему.