Upgrade Open Journal Systems - Blank page

Hello to everybody,
due to a malware problem I am trying to upgrade my OJS site from version 2.4.8.3 to 3.3.0.8.

I deleted the previous installation and uploaded the latest version of OJS via FTP. I haven’t deleted the database.

I go to the installation page and click on the link “If you are upgrading an existing installation of OJS, click here to proceed”.

Then I click on “Upgrade Open Journal Systems” but a blank page appears. What did I do wrong?

OJS 2.4.8.3
PHP 7.4

Hi @stefanoruster

It’s not possible to upgrade directly from 2.4.8 to 3.3. You’ll need to upgrade to 3.2.1 first, and then upgrade that to 3.3.

Best
Jason

I didn’t know it… Thanks!

Same problem upgrading from 2.4.8.3 to 3.2.1-4 (blank page, error 500) :roll_eyes:

You’ll need to look in your server error logs, then, for PHP “fatal errors” to know what the problem is.

Best
Jason

Here it is:

23:42:10 [error] [client 66.249.70.42] - www.MYSITE.it - AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Exception: DB Error: No such file or directory Query: SELECT * FROM journals WHERE path = ? in /web/htdocs/www.MYSITE.it/home/lib/pkp/classes/db/DAO.inc.php:703\nStack trace:\n#0 /web/htdocs/www.MYSITE.it/home/lib/pkp/classes/db/DAO.inc.php(103): DAO->handleError()\n#1 /web/htdocs/www.MYSITE.it/home/lib/pkp/classes/context/ContextDAO.inc.php(64): DAO->retrieve()\n#2 /web/htdocs/www.MYSITE.it/home/lib/pkp/classes/core/PKPRouter.inc.php(252): ContextDAO->getByPath()\n#3 /web/htdocs/www.MYSITE.it/home/lib/pkp/classes/core/PKPRequest.inc.php(760): PKPRouter->getContext()\n#4 /web/htdocs/www.MYSITE.it/home/classes/core/Request.inc.php(64): PKPRequest->_delegateToRouter()\n#5 /web/htdocs/www.MYSITE.it/home/lib/pkp/classes/template/PKPTemplateManager.inc.php(106): Request->getContext()\n#6 /web/htdocs/www.MYSITE.it/home/classes/template/TemplateManager.inc.php(28): PKPTemplateManager->initialize()\n#7 /web/htdo…

I haven’t seen that before. What’s your procedure for performing the upgrade?

Best
Jason

I deleted the old OJS 2.4.8.3 site, kept the old database, then uploaded OJS 3.2.1.4 and the old
/files folder. Did I do something wrong?

Same problem deleting the old tables or with a /file folder empty.

I’m stuck, help me!

what database driver are you using in your config.inc.php file? Please note that the driver may be different now for OJS3.

Excuse me, am I wrong or this data is entered during installation?

In config.inc.php database settings are those:

;;;;;;;;;;;;;;;;;;;;;
; Database Settings ;
;;;;;;;;;;;;;;;;;;;;;

[database]

driver = mysqli
host = localhost
username = ojs
password = ojs
name = ojs

Hi @stefanoruster

I’ve been doing some research and that “no such file or directory” error is sometimes spurious. It may happen once and then not again. Is there a way to try the upgrade from the command line instead of the web interface?

The way I typically upgrade an OJS installation is to place the new code in a parallel directory on the server, modify the config.inc.php file in it so that it points to my original database and files directory, with “installed = On”, and then use the command line tool to upgrade it:


php tools/upgrade.php check # to verify
php tools/upgrade.php upgrade # to perform the upgrade

this approach would only work if you have SSH access to your server though.

Best
Jason

Let me understand: To update an old OJS installation
I must:

  • delete the old installation and then upload the folder / files?
  • delete the old database and then load it after installation?

Upgrade from 2.x to 3.x if probably one of the most difficult jobs you will ever have to do with OJS.

I hope you find this guide helpful: How to Upgrade
All steps are explained in detail. Follow it and tell us in what point you got stuck.

But, first and MOST IMPORTANT, make a backup of your DB, private and public files.

Cheers,
m.

1 Like

My hosting service replied like this:

"This type of commands cannot be executed in a shared environment such as its Hosting in order to avoid possible malfunctions to other sites hosted within the space
I advise you to check if there are any CMS updates that allow the use of the mysqli library for PHP 7.0+ or you can evaluate the migration to a Cloud service. ".

Can I choose “mysqli” option as database driver?

P.S.
Even if I try a fresh install I can’t go on…

@stefanoruster

OJS 3.2.1 and 3.3 both require mysqli as a database driver since that maps to a PHP module in PHP 7. You can no longer use mysql.

Best
Jason

Ok, it seems the problem is solved. There was a database connection problem