Hello everybody,
I am trying to upgrade my OJS site from version 3.3.0.8 to 3.4.0.5. Before I run the upgrade on a production server, I want to see that it works properly in a test environment on a test subdomain I created for that purpose.
I uploaded the sources for version 3.4.0.5 to the subdomain
I created a new database to which I duplicated the contents of my existing OJS database
I updated config.inc.php to point to the subdomain and also to my newly created database
since I don’t have SSH access to my webserver, I set the “installed” entry in config.inc.php to “Off” and started the web upgrade of the OJS database (using the “If you are upgrading an existing installation of OJS, click_here to proceed” link).
However, the upgrade resulted in a blank screen. I don’t see any relevant information in the error log. When I return the “installed” entry to “On” in config.inc.php, OJS looks broken on the new subdomain, and also when I log into the administration, I see a message saying that I am still using version 3.3.0.8.
Any idea what I’m doing wrong please? Should the upgrade work with the procedure I described?
Upgrading OJS from version 3.3 to 3.4 can indeed be challenging, especially without SSH access. It is highly recommended to perform the upgrade using a Linux environment. This is because Linux provides better tools and easier access to logs, making it simpler to identify and troubleshoot any issues that arise during the upgrade process.
I’d suggest double-checking your PHP error log – when you encounter a blank screen, there’s just about always something logged. If you’re not sure where to find the error log, check your phpinfo information page (example instructions).
Regards,
Alec Smecher
Public Knowledge Project Team
Thank you all for your answers. I don’t really understand what’s going on: today I transferred the production database to the test database again and ran the web database update (exactly the same as before), and now it ended successfully. However, now, when I set “installed” to “On” in config.inc.php and open the subdomain with the upgraded OJS in my browser, the page loads endlessly, and eventually the browser gives up loading. The only thing I see in the log is this warning:
[29-Jun-2024 09:11:29 UTC] PHP Warning: Base directory cache does not exist, please create or change using %Cache.SerializerPath in /home/html/tape.academy/_sub/test-upgrade/lib/pkp/lib/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php on line 232
I believe the cache folder has the necessary permissions set to run the site. Every time I try to run it (although it won’t load), I see that there are new files generated in the folder. (I assume we are talking about the cache/ folder in the OJS root.)
Another possibility is that the upgrade is taking too long for your web server or PHP timeout, and is getting interrupted before it completes. (The command line upgrade tool doesn’t suffer from this, which is one of the reasons we usually recommend that approach.)
Regards,
Alec Smecher
Public Knowledge Project Team
Hi @asmecher, no no, as I wrote, the upgrade script itself completed, and it wrote me that OJS was updated successfully. See attached screenshot. I see the endless loading not when I run the database upgrade script, but when I try to enter the homepage of my OJS.
Ah, you’re right (and that’s good news – chances are it’ll be some minor problem that will disappear when you find the right fix/tweak).
Are you behind a proxy server? If so, make sure you’ve configured that in your config.inc.php so that OJS can access the Internet. It needs that in order to fetch the latest plugins, check for a new version, and other details like e.g. downloading the GeoIP database.
Regards,
Alec Smecher
Public Knowledge Project Team
Thank you for your reply and the suggestion. Nevertheless… however strange it may sound, the problem solved itself. Now, a few hours after successfully upgrading OJS, my OJS homepage has loaded, I am able to enter it, and everything seems to be working. I really have no idea what was wrong and what actually happened, but I’m glad it’s working now. Thanks a lot for your help!