Я получаю сообщение об ошибке http 500 при попытке отправить сообщение в этот индекс таблицы лидеров:
<?php
$reference = "sorted";
$printboard = "leaderboard";
$my_win = 0;
$my_check = 0;
//get the name or member or element of the lowest score
$my_check = $redis->zRange($reference, 0, 0);
//I have the lowest ranking member now get that members score to check against
$my_win = $redis->zScore($reference, $my_check[0]);
//$wins is what I'm posting to this index
if ($my_win < $wins) {
$redis->zDelete($reference, $my_check);//I beat the lowest ranking user so take his spot
//update the new score and push the new user to the print list
$redis->zAdd($reference,$wins, $name);
//if im adding someone new I need to remove someone
//if this is running I want to strip the list of it's 99th user so don't use 1188 use 1176
$redis->listTrim($printboard, 0, 1176);
//then rpush the new player to have made the list
$redis->rpush($printboard,$name,$avatar,$wins,$losses,$ties,$fave,$meter,$game1,$game2,$game3,$game4,$game5);
}
?>
Правильно ли я использую zRange?
$my_check = $redis->zRange($reference, 0, 0);
А затем проверить первое пятно массива?
$my_win = $redis->zScore($reference, $my_check[0]);
Я думаю, это может быть моя проблема. Я неправильно использую возврат $ my_check?
Кроме того, с Redis вам когда-нибудь нужно что-нибудь инициализировать? Я часто просматриваю руководство phpredis GitHub и сам веб-сайт redis и не замечаю никаких подробностей о том, что произойдет, если вы используете zRange с пустым отсортированным набором.
Спасибо, это было частью моей проблемы, и в журнале действительно отображалась нежелательная ошибка синтаксического анализа php "= = ".
Затем вам следует исправить эту проблему и попробовать еще раз.
Да, очевидно, это была моя проблема. Ваш ответ решил мою проблему.
Я просто подумал еще раз. Как работает ошибка сервера? В частности, интересно, как он будет справляться с ошибкой с синтаксисом redis или это просто молчит? Сначала я думал, что делаю что-то не так с командами Redis. Итак, я неправильно написал команду Redis для тестирования и все еще получил ошибку 500, но ничего в журнале ... В любом случае, еще раз спасибо, если вы разместите свой комментарий в качестве ответа, я поставлю его.






Ошибка 500 означает, что произошла ошибка сервера. Чтобы увидеть сообщение об ошибке действительный, проверьте журнал ошибок сервера. Вы также можете изменить способ отображения ошибок PHP и указать ему, чтобы он отображал все ошибки прямо на экране (это не то, что вы хотите в производственной среде, поскольку он может отображать конфиденциальные данные, но во время разработки вы должны). Вот как показать все ошибки и предупреждения: stackoverflow.com/questions/5438060/…