Upgrading To v1.5.4 - Database and public_html
I am in the very preliminary stages of upgrading to v1.5.4 from v1.5.1, and have been scouring the forum for related topics/issues. I have printed out and reviewed as many of the instructions as I can find and have gotten to the point that I just need to bite the bullet and do it. But the one item I am not clear on is the distinction between the "database" as it exists on the server (I'm on a shared server) and the contents of my public_html folder. The public_html folder looks like data to me, what with images, and php files and all. When I look at the database (MySQL Database), it shows significantly fewer files than public_html, like only about a hundred or so. If not in the "database" where are the "public_html" files. I can see and manipulate them in Filezilla, but where is their home?
I know many of you will probably laugh at my question, and ask "why is this doofus messing around with something like Zen Cart, when he doesn't have a clue what he's dealing with?" I have been on Zen Cart for a little over a year, and have been successful at changing things like css and the contents of "my shop" template files. I have installed a few plug-ins, but have not gone deep into the code. Zen Cart has done very well for me and I would like to stay on top of the upgrades, but to do so, I need just a bit more info about "what's behind the screen" hence the question.
I am ecstatic with the benefits we have gotten from the switch from another platform to Zen Cart in mid-2014 (2014 was our second best year since we started in 2000) and plan on enlarging our product lines and improving our presence online.
Please advise the distinction between the "database" and public_html.
Thanks,
Phil
Re: Upgrading To v1.5.4 - Database and public_html
The public_html files are on the hard drive of your shared server.
Think of the public_html as your c:/ drive on your computer and your database as a usb thumbdrive if that makes it a little easier to understand. They are seperate but on the same server.
Re: Upgrading To v1.5.4 - Database and public_html
public_html is the folder (directory) name of the root (top) directory of your server disk space. It contains files and folders which contain the rest of the Zencart files, all of which are accessible using your FTP program.
The database, which is usually on the same server as your files, contains values (in tables and columns) which the Zencart files use to do what they do. The database entries aren't actually 'files'.
For example, when you change a option in admin from True to False (say, Admin - Configuration - Customer Details - Date of Birth), the value for that option in the Configuration table in the database is changed from 1 to 0.
You can use the phpMyAdmin program under Databases in your CPanel account to look through the database(s) to see how things are ordered.
Re: Upgrading To v1.5.4 - Database and public_html
southshore and stevesh
Thank you for the insight! Things are starting to become clearer. I know now that my demo account will have both its own unique MySQL database and Zen Cart ftp-able files. Now, when I create the demo database for v1.5.4 as recommended, do I place it under public_html or do I place it under ...home/my account (where public_html is located). So would it look like this:
...home
......my account
.........public_html
............demo
or like this:
...home
......my account
.........public_html
.........demo
Thanks for the help so far!
Phil
Re: Upgrading To v1.5.4 - Database and public_html
You don't put the database anywhere. It's created in CPanel and is held somewhere on the server. Zencart knows where to find it. You don't have to move it, so it doesn't really matter where it is, but one of the server gurus here (RodG) should be able to let you know where they are if you want to know.
Re: Upgrading To v1.5.4 - Database and public_html
Perhaps the question would have been appropriately asked: when creating the demo store, should the store's directory be place as a sub-directory of the existing store or in a separate sub-directory that is at the same server folder level as the existing store?
With regards to the database, which also is to be created as part of the "demo" store, one important thing that makes the entire process go smoother is to use the same database prefix (DB_PREFIX as identified in includes/configure.php) in the new install as used on the existing install. This part of the process isn't described as in depth as the working with the files.
It is important to use the correct terminology (or acknowledge not knowing the correct terminology) so that readers can provide the most appropriate support. Recently help has been attempted to address the storage of database information based on the question(s) asked, when it appears that the help requested has little to do with the database part... See the confusion?
Re: Upgrading To v1.5.4 - Database and public_html
mc12345678....you are correct in restating my question...."When creating the demo store, should the store's directory be placed as a sub-directory of the existing store or in a separate sub-directory that is at the same server folder level as the existing store?"
While I am still waiting for an answer, I am trending toward a separate subdirectory at the same folder level as the existing store (the second option in the diagram from my previous post), if for no other reason than backing up (ie., copy to my local pc) would double the amount of time and space, and needlessly complicate the backup process. Observations?
Re: Upgrading To v1.5.4 - Database and public_html
public_html is the root folder for all public facing html content, if demo directory is not within public_html then it is not directly accessible from the web, so option 1 might work better
or, you could probably move the store from public_html to public_html/store, then remap your domain root directory to be public_html/store, so that http://www.yourdomain.com/ is actually in /store
then you can set up a sub-domain http://demo.yourdomain.com/ to be in /demo
then you'd just need a wildcard security certificate if you want to utilize https protocol in both locations
...home
......my account
.........public_html
............demo <- demo.yourdomain.com maps to here
............store <- www.yourdomain.com maps to here
Re: Upgrading To v1.5.4 - Database and public_html
Honestly it could be either way. There are some that suggest the route you are trending, and there are those that would say the subdirectory is possibly a better way to go. I've tried both, and actually still have no "ideal" method to suggest. They each come with their own difficulties. The important thing is to pick one method and stay with it until the upgrade is complete. Also important to understand what has to be changed in order to go from the development site to the production site at least in way of the configure.php files. Also if you are offered an opportunity to work with two different versions of php on the two different locations, may I suggest not using the two different versions but try to keep with the same single version?
I can tell you that it seems to me that the choice of same level or sub-directory is somewhat split between those that do upgrades frequently. The backup concern in my mind is a non-issue, as when selecting what files to copy from the server to the local computer, there is at least one way to ensure that all the other files/folders are selected and to ensure to deselect the one that is an entire store off of it... On a pc, hold the ctrl key after all have been highlighted, then click that one folder. Voila, one folder not highlighted for copy/backup.
Re: Upgrading To v1.5.4 - Database and public_html
This is absolutely super! I particularly appreciate the fact that not only have you all (stevesh, southshorepizza, mc12345678, SignTorch) taken the time to give me directions (although they do admittedly diverge at points, but, hey, that why we all have opinions), but the background and reasoning is priceless. Knowing the why and why not many times can be as valuable as the what.
Thanks Again,
Phil
BTW The jury is still out on which course to take, but at least now I know a whole lot more about how to think about the answer!