fixing OJS fatal error

OJS White Screen of Death (WSD), how to fix it?

An OJS that has a white screen when it is viewed in the browser actually in technical terms has error 500, also known as the Internal Server Error or Fatal Error, which can have several negative impacts on a website and its users. Some of these impacts include:

  1. Poor user experience: When a user encounters a website error 500, they may become frustrated and lose trust in the website. This can result in a poor user experience, which may discourage users from returning to the site, in the case of OJS, visitors cannot read any article, the author cannot make the submission and the article will lose the potential citations.
  2. Decreased traffic: A website error of 500 can lead to a decrease in traffic as users may be unable to access the site. This can result in lost opportunities for engagement, conversions, and revenue.
  3. Negative impact on SEO: Website errors can negatively impact a website’s search engine optimization (SEO). Search engines may penalize websites that have frequent errors or downtime, which can lower the website’s ranking in search results.
  4. Damage to brand reputation: A website that frequently experiences errors can damage the brand’s reputation. Users may perceive the website as unreliable or untrustworthy, which can negatively impact the brand’s image.
  5. And the most important thing it can make your journal delisted or deindexed to the current and upcoming deindexing such as Google Scholar, DOAJ, Scopus, and other

Overall, website error 500 can have significant negative impacts on a website’s performance, user experience, traffic, SEO, and the reputation of your journal. Therefore, it is important to promptly address and fix any errors to ensure that the website is functioning properly and providing a positive experience to its users. The cause of OJS can also emerge because you have installed an OJS that is not meet the system requirement.

This article aims to provide guidance on investigating and resolving the White Screen error or error 500 (internal server error) on your website. Once the root cause of the error is identified, we can take the necessary steps to fix it. It’s important to note that the causes of this error may vary, but this article will focus on addressing the most common and general causes.

Step 1: Check the Apache Error Log The first step in fixing the OJS white screen of death or error 500 is to check the Apache error log. This log can provide valuable information about the cause of the problem. To access the error log, open the terminal and type the following command:

sudo tail -f /var/log/apache2/error.log

This command will display the Apache error log in real-time. Look for any error messages related to OJS. If you see an error message related to OJS, note down the details as they will be helpful in diagnosing the issue.

Step 2: Check the PHP Error Log The next step is to check the PHP error log. The PHP error log can provide additional information about the cause of the problem. To access the PHP error log, open the terminal and type the following command:

sudo tail -f /var/log/php7.4-fpm.log

Step 3: Clear the OJS Cache Sometimes, the white screen of death or error 500 can be caused by corrupted cache files. To fix this issue, go to the OJS installation directory and delete the contents of the “cache” folder. This will force OJS to regenerate the cache files.

Step 4: If you still do not find the Fatal Error on the log that was explained, you can open the config.inc.php file in the OJS directory and edit this code to On :

; Display an error message when something goes wrong.
display_errors = Off

Later you need to reload the page that shows the white screen then the fatal error will be shown to you.

The message that has a Fatal error on any of the logs is important to know the root cause of the error and to be able to take the required step for example :

Fatal error: Uncaught Error: Call to undefined function xml_parser_create() in /var/www/html/lib/pkp/classes/xml/XMLParser.inc.php:271
Stack trace: #0 /var/www/html/lib/pkp/classes/xml/XMLParser.inc.php(220) ..

Then you may take the step by installing the PHP-XML to your server and reloading the PHP and apache service.

Here is the example of the command (should be run in the server, cannot run in the hosting environment)

sudo apt install php7.[version]-xml php-xml-parser php7.[version]-mbstring && sudo service apache2 restart

Make adjustments to the line [version] to be configured based on the PHP version that is used by your OJS. Read the reference here for adding a new extension for the PHP. If you are using Cpanel or hosting here is the reference on how to activate some PHP extensions on the hosting environment. Note that, in our hosting service, the environment is fully compatible with OJS so you don’t have to set up anything.

The other error such as like this :

Fatal Error (E_ERROR): Allowed memory size of 536870912 bytes exhausted (tried to allocate 2097160 bytes) {“code”:1,”message”:”Allowed memory size of 536870912 bytes exhausted (tried to allocate 2097160 bytes)”,”file”:”/home/aimsacademics/immi.se/lib/pkp/classes/db/DAO.inc.php”,”line”:56,”trace”:null} []

The error message “Allowed memory size of 536870912 bytes exhausted” in PHP indicates that the script has exceeded the maximum amount of memory allocated to it. This can happen when a script tries to process a large amount of data or perform a complex operation.

To fix this error, you can try the following solutions:

  1. Increase memory limit: You can increase the memory limit in the PHP configuration file (php.ini) or in the script itself using the ini_set() function. For example, to increase the memory limit to 1 GB, you can add the following line to the script:
  2. Restart your PHP and Apache.

After you have made any fix for the Fatal Error of your OJS then you should restore the setting config.inc.php for the line display_errors = On to be Off again. The fatal error should not be exposed to the public so this intentionally remains hidden for your OJS.

In conclusion, encountering the error 500 or the White Screen of Death can be a frustrating experience for the OJS may emerge. However, by following the steps outlined in this article, you can investigate and resolve the most common causes of this error. It’s important to remember that the solutions provided are not one-size-fits-all and that the root cause of the error may vary.

Therefore, it’s essential to diagnose and address the issue promptly to ensure that your website is running smoothly and providing a positive experience for your users. If you don’t want to waste your time handling such frustrating technical issues with OJS, we offer a service fix that is handled by our professional team or the complete service for handling the hosting of your OJS so you can be focused on the workflow improvement of your journals such as inviting other authors in your journal and other things that have a better impact for your journal.

References :

  1. https://stackoverflow.com/questions/561066/fatal-error-allowed-memory-size-of-134217728-bytes-exhausted-codeigniter-xml
  2. https://en.wikipedia.org/wiki/Fatal_exception_error
  3. https://dev.to/anastasionico/how-to-fix-the-php-fatal-error-allowed-memory-exhausted-from-the-office-m75
  4. https://openjournaltheme.com/docs/upgrade/how-to-solve-db-error-unknown-column-array-in-where-clause
Tags :
About the Author
user-avatar

Project Manager

Hendra here, I love writing about OJS and share knowledge about OJS. My passion is about OJS, OMP platform and doing some research on creating innovated products for that platform to help publisher to improve their publication.

Leave a Comment

Your email address will not be published. Required fields are marked *

Openjournaltheme.com started in 2016 by a passionate team that focused to provide affordable OJS, OMP,  OPS,  Dspace, Eprints products and services. Our mission to help publishers to be more focus on their content research rather than tackled by many technical OJS issues.

Under the legal company name :
Inovasi Informatik Sinergi Inc.

Secure Payment :

All the client’s financial account data is stored in the respective third-party site (such as Paypal, Wise and Direct Payment).
*Payment on Credit card can be done by request
Your financial account is guaranteed protection. We never keep any of the clients’ financial data.