Username:
Password:
Activate Account Forgot Password?
Advanced Search
Active Players on Sylestia
Category Total Yesterday
Players 10,152 1,277
Sylestia Pet Data
Category Total Yesterday
Pets 4,629,718 2,366
Generated 325,332 270
Captured 708,137 220
Bred 3,596,249 1,876
Statistics updated daily at midnight
Recent Announcements
Thread Posted
Site Downtime - 1/24 @.. Jan 23
Lupora Themed Revamp Jan 19
Ongoing Updates Jan 10
Winter Festival Pet Tr.. Jan 7
2018 Winter Festival O.. Dec 23
Forum Index > News and Announcements > Ongoing Updates
Page 1 1, 2, 3, 4, 5, 6, 7 Go to Page:
Author Thread Post
Krinadon
Level 70
Enchanted Explorer
Site Administrator
Joined: 12/17/2012
Threads: 742
Posts: 10,785
Posted: 1/10/2019 at 1:17 PM Post #1
I am currently beginning the process of updating our Site's PHP version from 5 to 7.

Unfortunately, I can't just simply update the server's PHP version without first manually updating a bunch of things in all of our pages/features that are still using the old layout. They use a deprecated function for database queries that no longer exists in PHP 7. If I were to simply update our server's PHP version without first updating these things, all of those pages/features would break and be unusable.

Also, unfortunately, it is not easy to simply update the pages. The deprecated version and the new version are 100% incompatible with each other. You have to either use all of one or the other. Since there are a lot of shared function pages and scripts... everything has to be updated at the same time.


Example

I'll try and provide a simplified example as I'm sure I've either confused or lost the majority of readers already. =P

Old pages use "mysql". We'll refer to this as BAD.
New pages use "mysqli". We'll refer to this as GOOD.

When a page is loaded, let's say the Account Overview /account/, it first calls other pages. We'll call them:

/include_1.php. We'll refer to this as FILE 1
/include_1.php. We'll refer to this as FILE 2
/include_1.php. We'll refer to this as FILE 3

As it is currently, any page that uses the old layout uses BAD. These pages have all of their own BAD dependency files. Any page that uses the new layout uses GOOD. And all of these pages have their own GOOD dependency files.

It is this way because you cannot mix BAD pages with GOOD pages. It causes a fatal error and nothing works. So the two version have to be completely separated.

Now, the biggest issue here is that FILE 1, FILE 2, and FILE 3 are shared amongst many different pages and not just /account/. So let's say that /inventory/ also uses those 3 files.


The Predicament

If I update /account/ from BAD to GOOD, it will fail because FILE 1, FILE 2, and FILE 3 are still BAD.

If I update FILE 1, FILE 2, and FILE 3 from BAD to GOOD, /account/ and /inventory/ will fail because they are still BAD.

If I update /account/, FILE 1, FILE 2, and FILE 3 from BAD to GOOD, /inventory/ (and all other non updated pages) will fail because they are still BAD.

So, as you can see, it's not possible to just simply update things smoothly. In order to do it this way, I would have to update every single file from BAD to GOOD at the exact same time. There are dozens of files that need to be updated. Doing them all at once is a recipe for disaster and would be a terrible experience.


Solution

Therefore, I have done the following:

-Copied FILE 1, FILE 2, and FILE 3 to FILE 1 NEW, FILE 2 NEW, and FILE 3 NEW.

-Updated FILE 1 NEW, FILE 2 NEW, and FILE 3 NEW from BAD to GOOD.

-I can now update /account/, or /inventory/, etc from BAD to GOOD one at a time by pointing them to FILE 1 NEW, FILE 2 NEW, and FILE 3 NEW instead of FILE 1, FILE 2, and FILE 3. This will also keep other pages functioning normally until it's their turn to be updated.


Why Am I Reading This If You Have a Solution?

Because, unfortunately, even the solution is not ideal. When I go to update a page (and again, there are dozens that need to be updated) that page will be broken until I can get it fully synced up to the new files and all of its code updated.

On top of that, a lot of functions within those dependencies clash with how some other stuff is set up so I have to switch them over to use different functions and I am not entirely sure that each one of those functions are identical. So there very likely will be unintended consequences and unforeseen errors as I do this, page by page.

So when I pick a page to update, I will have to take it 'offline' and inaccessible to everyone until I am finished and confident that it's fully updated and everything is working properly.

This, unfortunately, is an incredibly tedious and slow process.


What to Expect

So over the next however many days it takes me to complete this process, you may try to navigate to a page and run into it not loading. If you do, the above reason is why. And I will be working to get that specific page/feature up and running as quickly as I can.

Some may take 5 minutes. Some may take an hour+. It just will depend on how easily I can update them and how many things break after I do that I then have to figure out solutions to.
8bitdiscopotato
Level 70
The Tender
Joined: 5/9/2015
Threads: 237
Posts: 1,853
Posted: 1/10/2019 at 1:19 PM Post #2
Thank you, I have been wondering what kind of things were going on....massive lag last night in zones, snow wars, everywhere., and then woke up to account overview being "temporarily disabled" kinda got a kick out of that, but figured some server stuff was being worked on :P

Always the ever hard-working soul, thanks for the heads up!
Edited By 8bitdiscopotato on 1/10/2019 at 1:19 PM.
Cinderheart
Level 69
The Kind-Hearted
Joined: 3/27/2018
Threads: 2
Posts: 19
Posted: 1/10/2019 at 1:21 PM Post #3
Good to know, now I know not to panic if there's a page that's down, thanks!
Chip
Level 69
Trickster
Joined: 4/29/2017
Threads: 0
Posts: 78
Posted: 1/10/2019 at 1:24 PM Post #4
Thanks for the notice!
Ruffbeagle
Level 70
The Tactician
Joined: 7/9/2018
Threads: 4
Posts: 35
Posted: 1/10/2019 at 1:24 PM Post #5
Must type joke... What you don't have a Magic Wand that will fix everything in one shot? The shame.

It is really bad how when they change or update thing they become completely incompatible with the previous version of it. SO good luck and may things go as smoothly as possible
CasmereSphynx
Level 70
The Carver
Joined: 8/29/2016
Threads: 11
Posts: 356
Posted: 1/10/2019 at 1:26 PM Post #6
Does this mean that sylestia will have to go offline while you do your work or you will be doing single pages like the inventory and our inventory will not work while you're doing it???
8bitdiscopotato
Level 70
The Tender
Joined: 5/9/2015
Threads: 237
Posts: 1,853
Posted: 1/10/2019 at 1:29 PM Post #7
I think for the most part, hes going to do the pages and keep site online as much as possble right now, but...theres probably that potential of hitting that disastrous red button and causing a site-wide crash... lol
Lalalanmao
Level 67
The Kind-Hearted
Joined: 5/23/2017
Threads: 46
Posts: 3,386
Posted: 1/10/2019 at 1:30 PM Post #8
Thanks for the update :) It was extremely clear and a lot easier to read then some of my computer programming friend's explanations
Animalover101
Level 40
Joined: 11/15/2018
Threads: 3
Posts: 34
Posted: 1/10/2019 at 1:33 PM Post #9
Good to know thanks
Krinadon
Level 70
Enchanted Explorer
Site Administrator
Joined: 12/17/2012
Threads: 742
Posts: 10,785
Posted: 1/10/2019 at 1:37 PM Post #10
Link: https://www.sylestia.com/forums/?thread=71801&page=1#2
Author: 8bitdiscopotato
Time Posted: 1/10/2019 at 1:19 PM
Thank you, I have been wondering what kind of things were going on....massive lag last night in zones, snow wars, everywhere., and then woke up to account overview being "temporarily disabled" kinda got a kick out of that, but figured some server stuff was being worked on :P

Always the ever hard-working soul, thanks for the heads up!


Account Overview, yes.

Everything else you mentioned would be unrelated.
Go to Page:
1, 2, 3, 4, 5, 6, 7
This Page loaded in 0.012 seconds.
Terms of Service | Privacy Policy | Contact Us | Credits
© Copyright 2011-2019 Sylestia.
All names and logos associated with Sylestia are Trademarks of Sylestia.
All other trademarks are the property of their respective owners.
For questions, comments, or concerns please email at Support@Sylestia.com.