As the developers of Open Journal Systems, Open Conference Systems, Open Harvester Systems, and Open Monograph Press, the PKP team are experts in helping journal managers and conference organizers make the most of their online publishing projects. PKP Publishing Services offers support for:

As a customer of PKP Publishing Services, you will not only receive direct, personalized support from the PKP Development Team, but will be contributing to the ongoing development of the PKP applications. All funds raised by PKP Publishing Services go directly toward enhancing our free, open source software. For more information, please contact us.

1. Search the forum. You can do this from the Advanced Search Page or from our Google Custom Search, which will search the entire PKP site. If you are encountering an error, we especially recommend searching the forum for said error.

2. Check the FAQ to see if your question or error has already been resolved.

3. Post a question, but please, only after trying the above two solutions. If it's a workflow or usability question you should probably post to the OJS Editorial Support and Discussion subforum; if you have a development question, try the OJS Development subforum.

Don't worry about the parts of the patch that relate to files in the test/ subdirectory -- the tests don't ship with OJS. The important change is the one made to HookRegistry.inc.php; if the patch doesn't want to apply -- this could be for a number of reasons, such as line endings -- you might try merging it manually since it's so short.

I am having the same problem when upgrading from 2.2.3 to 2.4.3. The upgrade script gives this error : Allowed memory size of 94371840 bytes exhausted (tried to allocate 40961 bytes) in /lib/pkp/lib/phputf8/utils/ascii.php on line 94

I applied the patch to the HookRegistry.inc.php, see attached.

I am trying to upgrade an old database to a fresh install as recommended. In case there was anything wrong with the old data, I did this as a test.

1. installed a new version OJS 2.2.3 so that I had a clean empty version of the 2.2.3 database2. I then linked the 2.4.3 install to this clean 2.2.3 database. 3. I then ran the upgrade script to upgrade this completely empty database4. Again I got the memory error at exactly the same point in the upgrade as when running the upgrade on the old populated database.

Two things to try before restoring the database and running the upgrade again:1. Turn off charset_normalization in your config.inc.php file. This will decrease memory usage and is almost certainly not useful on a modern server.2. Turn up the allowed memory in your PHP configuration. The upgrade will require more memory than normal operation.

; Database storage character set; Must be set to "Off" if not supported by the database serverdatabase_charset = Off

; Enable character normalization to utf-8 (recommended); If disabled, strings will be passed through in their native encoding; Note that client_charset and database collation must be set; to "utf-8" for this to work, as characters are stored in utf-8charset_normalization = Off

Another thing: I increased the memory using the php.ini directive but I am still getting the same error message about memory limit. My host did restart the server and checked that memory was increased successfully to 128MB which is far as is recommended by my webhost (Dreamhost).

With the memory limit increased to 128MB, did the error message reflect the increased amount? In the message quoted above, the limit appears to be set around 90MB.

The HookRegistry file you linked is equivalent to the version distributed in OJS 2.4.3, so replacing one with the other shouldn't change anything. It shouldn't be necessary to apply any patches to HookRegistry for OJS 2.4.3; there was a memory-saving patch but that only applies to earlier versions.

No the error message did not reflect the increase in memory, which made me wonder. But Dreamhost is stating in an email to me that "It's currently set to 128MB. I wouldn't recommend going any higher than that". Do you know how I can reliable check the memory limit for my user?

I suspect the increase never took effect, e.g. Dreamhost didn't restart the web server to cause the configuration file to be re-read. You should be able to check the memory_limit PHP setting by looking at the phpinfo() output, either by running a test script or by looking in the Site Administrator's interface.

In any case, you should definitely see the changed value reflected in the error message.

The script still gives the same error:Fatal error: Allowed memory size of 94371840 bytes exhausted (tried to allocate 40961 bytes) in /home/teach_anth/teachinganthropology.org/lib/pkp/lib/phputf8/utils/ascii.php on line 94