Cannot see my website

When I tried to view my website today via a browser, I got the message:
SQLSTATE[HY000]: General error: 5 database is locked|#0 /mnt/web113/d3/83/5254183/htdocs/photo-nest/backlight/modules/module-framework/dao/SQLiteHandler.php(20): PDO->query(‘PRAGMA synchron…’) #1 /mnt/web113/d3/83/5254183/htdocs/photo-nest/backlight/modules/module-framework/dao/SQLiteHandler.php(88): SQLiteHandler->__construct(Array) #2 /mnt/web113/d3/83/5254183/htdocs/photo-nest/backlight/modules/module-framework/dao/DAOFactory.php(15): SQLiteHandler::getConnection(Array) #3 /mnt/web113/d3/83/5254183/htdocs/photo-nest/backlight/modules/module-framework/controllers/Controller.php(45): DAOFactory::getDBHandler() #4 /mnt/web113/d3/83/5254183/htdocs/photo-nest/backlight/modules/module-designer/application/controllers/PageController.php(14): Controller->loadDAO(Array) #5 /mnt/web113/d3/83/5254183/htdocs/photo-nest/backlight/modules/module-framework/models/Dispatchable.php(292): PageController->__construct(‘view’) #6 /mnt/web113/d3/83/5254183/htdocs/photo-nest/backlight/modules/module-framework/models/Dispatchable.php(215): Dispatchable->createControllerIfNeeded() #7 /mnt/web113/d3/83/5254183/htdocs/photo-nest/backlight/modules/module-framework/models/Dispatchable.php(89): Dispatchable->processParameters() #8 /mnt/web113/d3/83/5254183/htdocs/photo-nest/backlight/modules/module-framework/Framework.php(50): Dispatchable->init() #9 /mnt/web113/d3/83/5254183/htdocs/photo-nest/index.php(38): Framework->route() #10 {main}|URL: /index.php

When I tried to enter via Admin I got this:

Something went wrong

SQLSTATE[HY000]: General error: 5 database is locked in SQLiteHandler.php on line 20

How can I fix this?

Ben is probably going to have to figure this out. But in the meantime you can take this up with your host and ask them if there have been any recent changes and why you might be getting an error that indicates the databases are locked.

You could also try running the Backlight installer again. Doing so won’t mess with design or content.

But first, back up your /backlight/data/ folder by downloading it to your computer.
Speaking of that, do you have a backup of that in case the problem is that databases are corrupted? Perhaps your host backs up your site?

I have explored my provider’s website and they haven’t announced any changes. Tomorrow I will talk with a technician.

I have my data folder backed up, but I don’t know how to run the installer since I cannot get to my backlight folder on my site.

Hi Herb,

@Ben will definitely need to advise. In the meantime, you should definitely reach out to your host. Whether they’ve announced changes or not, if the website was working before and now this, then they’ve definitely changed something.

try going to https://photo-nest.com/backlight/installer

The initial install screen shows up.

Hi Herb, I’m not sure what causes this and don’t have a reliable strategy to resolve it. There are a couple of things I can try though. One is to move the database file from your server and then back again. Another is to re-create a new database file with the data from the current file. Can you provide me with FTP access so that I can look into this?

@Ben, I tried rerunning the installer as Rod suggest but that didn’t fix it. And then I spoke with my host who tells me that they have changed users from using PHP 7.2 to PHP 7.4 but, made no other changes to my website.
FTP for my host is ftp.strato.com
Port 21
User: www.photo-nest.com
Password: DJ0PLDJ0

Hi Herb, thanks for the access. I’ve tried renaming some of the data directories, and not had any great success. Renaming backlight/data/admin to backlight/data/admin_x caused a new copy of backlight/data/admin to be created. I could reach the login screen but then the same error happened again.
It looks like PHP’s opcache has been enabled. This might be causing the issue. Can you log into your site’s control panel and see if you can find any PHP settings, specifically one for ‘Zend Opcache’ or similar?

Ben, my host shows only one setting for PHP other than the version number. It is called PHP Boost and it was enabled. I disabled it but continue to get the error message.

Hi Herb, can you try changing the version number?

Ben, I have tried to access the site with PHP version 7.3, 7.4 and 8.0 with the same effect. It currently sits on the host’s recommended version 7.4. They do not offer the option to revert to 7.2.

If all else fails, would it make sense to delete the installation and rebuild it. Fortunately everything was built via Lightroom, so I assume that except for custom Cover Images and arrangement of icon images, LR should do most of the work.

Until Ben can get back to you, one thing you could try is creating a new test site in either a sub-folder or sub-domain.
That may help in narrowing down the problem.

Hi Rod, I am afraid I don’t know how to create a new test site in either a sub-folder or sub-domain.

Just like you created your original site.

The easiest way is using as sub-folder
Using FTP, create a new folder in the root of your site. Name it ‘test’
Then install Backlight into the test/ folder as you would if this was your main site. In Settings, be sure to include the name of the test folder in the Site URL: http://yoursite.com/test/
See if you can visit the newly installed site or if the error also appears there.

If you can access the site, then in Lightroom, create a new instance of the TTG Publisher plug-in.
Be sure to include the name of the test folder in the API url: http://yoursite.com/test/backlight/publisher/

Publish a test album or two and see if things act normally.

If it all works as expected that might point to a corrupted database in your main site. Either way, it gives Ben another data point.

@Rod, @Ben, I got the site http://www.photo-nest.com/test set up. I installed a second instance of the LR Plugin but could not get it to publish any albums. It wouldn’t offer me the Default album template. However, I went directly to Backlight and had no problem publishing an album which I could view without problems on the web. So I guess it is not a PHP or other form of host problem.

As a further experiment, I went back to the LR Publisher and had it republish an existing album in which I made a minor change. It got stuck trying to republish.

did you enter in the correct API url for the test site and did you create an API key in Backlight Settings and also enter that key in Lightroom Publisher?

Hi Herb, I did try something equivalent to rebuilding your site, but on a smaller scale, by renaming the database file. The page loaded at first but then had the same problem.

Are you fine for me to try doing something similar for the entire data directory? I would copy it all via FTP, rebuild the database files and copy it all back again.

Hi Ben. Yes, please do whatever might help to solve the issue.

Hi Herb, I have tried a few things, with limited success:

  1. I created a new local website, and copied over your database files. The new local site worked correctly.

  2. Re-uploaded the same database files to your site. The error persisted.

  3. Re-created the database files locally and uploaded those to your site. The error persisted.

  4. Created a new site in a folder at https://www.photo-nest.com/ben-test/ and copied over the database files from step 3). This site loads correctly (note that there are no gallery files or images from Designer’s Uploaded Images, as I haven’t copied those over). The admin login is the same as on your main site.

It looks like there is some kind of file system lock on one or more of your database files. Replacing them doesn’t fix it. A further thing to try would be to download your entire backlight/data directory, delete it on your server, and copy the entire directory back. Unfortunately, I’ve had trouble FTPing so many files from your server. Even uploading the single database file for Publisher took multiple attempts as it kept failing part way through. So I haven’t tried doing that.

Something you could ask your host to do is restart the PHP service or reboot the server. Perhaps ask if there is a scheduled time for the latter? That may free up the lock on the databases.

I noticed also that some of the performance was quite poor on your server. Installing the site under ben-test took a lot longer than I’d expect. FTP speed was also pretty slow. Have you encountered similar performance issues with your host? If you’re not particularly attached to them, I’d recommend moving to a different host.

Hi Ben. Good news – mostly. I copied my data file with all subfolders to my local computer. I had no errors and the process went smoothly – total of 14 minutes at average of 7.8 Mib. Then I deleted the folder and its subfolders from the server and then re-transferred it from my computer to the server. That took much longer but reported no errors (something like 90 minutes) but with no errors.

My site now loads and all my images and hero images seem to be fine. BUT most of the cover images fail to display correctly. In some cases the images appear as splashes of color and in other cases Backlight reports that there is no defined cover image where they had been one before. Only 2 out of nearly 60 cover images display as intended!

I have not yet tried to reload and reassign these cover images because I thought you might want to look at the site first.

Let me know when I should proceed to assign new cover images for those that are corrupted. In all cases my cover images had been separately uploaded via Backlight because I created square images as cover images that are not in the albums in that form. I did not think to save them offline. So is it possible I will still find them on the server?

I also assume that I can now delete your and my test folders from the server to clean things up. And I wonder if you now find my site slow to load as you reported before. For me it loads as fast as ever.