xiaomlove / nexusphp

A private tracker application base on NexusPHP
https://nexusphp.org
GNU General Public License v2.0
896 stars 184 forks source link

Problem beta 12 => beta 13 (peers table empty) #58

Closed BeAristobule closed 2 years ago

BeAristobule commented 2 years ago

Hi,

I have made the update beta 12 => beta 13 and I have a big problem. The "peers" table is now empty, do you have why and how to resolve it ?

I have a backup from my databases so I can restore it if needed.

Thanks.

xiaomlove commented 2 years ago

This is strange, updates change the type of certain fields, they don't delete data. Look at the update log, or the php/nginx error log.

BeAristobule commented 2 years ago

In the nginx error log I have it, and the same for each other peer: `2022/04/12 07:18:14 [error] 456308#456308: *1095630 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught TypeError: fopen(): Argument #1 ($filename) must be of type string, resource given in /var/www/***/public/announce.php:177 Stack trace:

0 /var/www/***/public/announce.php(177): fopen()

1 {main}

thrown in /var/www//public/announce.php on line 177" while reading response header from upstream, client: ..., server: , request: "GET /announce.php?authkey=10041|994|qxbMQy&info_hash=%c2%e4%a5%89%d5%b0%a6kPb%bf%d2%28%90%efz%88%1d%10%3a&peer_id=-UT355W-~%b4%2b%b8%d9%03%e8%d1%189%c5%5e&port=47466&uploaded=0&downloaded=0&left=0&corruptt=0&key=4FADFAC8&numwant=200&compact=1&no_peer_id=1 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php8.0-fpm.sock:", host: "***"`

After this suit of errors, the peers table was empty.

xiaomlove commented 2 years ago

announce.php no fopen()...

BeAristobule commented 2 years ago

There is no fopen() in the announce.php file from the beta 13, and there is not in my file so it's similar. I don't understand your answer ?

BeAristobule commented 2 years ago

Well, another idea.

When I put my old beta 12 announce.php file, it try to rebuild the peers table. When I put the new beta 13 announce.php file, it shows just zero peer, the table is empty after some seconds.

So it's due to a change of code, but not sure that it's in the announce.php file.