[OJS]Problem with DOI Assigning


I am having a problem when I assign DOI’s to articles. (OJS

Whenever I go to add a DOI to the article (Edit Metadata), the page takes a lot of time to load and eventually the error page opens - “500 Internal Server Error - Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.”.

However, in the morning time I am able to assign DOI’s without the error coming, it still takes the same amount of time to load though.

Please give me solutions to fix this problem, whether the problem is in the code or somewhere else. I do not want the error to come back again.


Hi @Jaimin

Hmmm… I am not sure what would be the solution for the problem, e.g. I do not know if it is something specific in your installation and/or server configuration and/or…
When you temporarily disable the DOI public identifier plugin, does the “Edit Metadata” page still needs some time to load?


It does not take time when I leave the DOI entry blank and save, also I can’t take the risk of disabling the plugin for experimentation because I have over 2000-3000 assigned DOI’s, maybe more…

My issue is however not about the time, it doesn’t matter if it takes time. But, the issue is that it runs into Internal Server Error page and that the DOI does not save sometimes.

Hi @Jaimin

Hmmm… It seems you use custom suffix, correct? In that case every time you save the form the validation runs that checks if the new DOI is unique – it will be compared with all existing DOIs in the journal. Maybe that’s why it take so long. And maybe that’s why you server returns the error message – because the script execution is too long for that server configuration. Hmmm… Else, I do not know why you get that 500 error. Was any other error message before that in your server php error log files?
You could maybe try to comment out these code lines: https://github.com/pkp/ojs/blob/ojs-2_4_8-1/plugins/pubIds/doi/DOIPubIdPlugin.inc.php#L296-L310 and see if saving the metadata form with DOI entered takes less time… But then, you will have to be sure the DOI you (or the other editors) are entering is unique, because there will be no check then…
Maybe also check your server php.ini configuration max_execution_time and memory_limit?


Just to say, I had this issue with slow slow DOI saving. The query to look at existing DOIs and make sure the new one was unique was taking something like a few hours. After optimizing database tables, it was a few seconds. This was on a journal with very few DOIs, and on an install of OJS with about 4,000 DOIs assigned in the install (but not on the same journal I was working with). So, a possible alternative if the query is slow is to first look at optimizing database tables, and then see if it’s still slow before commenting out the lines that make sure that the DOI is unique.

I was in OJS 3.1.1-4 (so apples and oranges in many ways to 2.4.8), but still the checking that the DOI is unique and the concept of optimizing database tables may be similar.

3 posts were split to a new topic: Getting started with DOIs