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.

I installed a fresh copy of APC from the amazon ec2 yum repository and I was no longer able to login my OJS user panel. Other parts of the website seemed to work. When i disabled APC everything returned to normal. I think our site could greatly benefit from some kind of caching strategy.

1. Does anybody know what could be going on?

2. Does anybody have an APC configuration that they would be kind enough to share?

; Options for the APC module version >= 3.1.3; See http://www.php.net/manual/en/apc.configuration.php

; This can be set to 0 to disable APC. apc.enabled=1; The number of shared memory segments to allocate for the compiler cache. apc.shm_segments=1; The size of each shared memory segment, with M/G suffixeapc.shm_size=64M; A "hint" about the number of distinct source files that will be included or ; requested on your web server. Set to zero or omit if you are not sure;apc.num_files_hint=1024; Just like num_files_hint, a "hint" about the number of distinct user cache; variables to store. Set to zero or omit if you are not sure;apc.user_entries_hint=4096; The number of seconds a cache entry is allowed to idle in a slot in case this; cache entry slot is needed by another entry.apc.ttl=7200; use the SAPI request start time for TTLapc.use_request_time=1; The number of seconds a user cache entry is allowed to idle in a slot in case; this cache entry slot is needed by another entry.apc.user_ttl=7200; The number of seconds that a cache entry may remain on the garbage-collection list. apc.gc_ttl=3600; On by default, but can be set to off and used in conjunction with positive; apc.filters so that files are only cached if matched by a positive filter.apc.cache_by_default=1; A comma-separated list of POSIX extended regular expressions.apc.filters; The mktemp-style file_mask to pass to the mmap module apc.mmap_file_mask=/tmp/apc.XXXXXX; This file_update_protection setting puts a delay on caching brand new files.apc.file_update_protection=2; Setting this enables APC for the CLI version of PHP (Mostly for testing and debugging).apc.enable_cli=0; Prevents large files from being cachedapc.max_file_size=1M; Whether to stat the main script file and the fullpath includes.apc.stat=1; Vertification with ctime will avoid problems caused by programs such as svn or rsync by making ; sure inodes have not changed since the last stat. APC will normally only check mtime.apc.stat_ctime=0; Whether to canonicalize paths in stat=0 mode or fall back to stat behaviourapc.canonicalize=0; With write_lock enabled, only one process at a time will try to compile an ; uncached script while the other processes will run uncachedapc.write_lock=1; Logs any scripts that were automatically excluded from being cached due to early/late binding issues.apc.report_autofilter=0; RFC1867 File Upload Progress hook handlerapc.rfc1867=0apc.rfc1867_prefix =upload_apc.rfc1867_name=APC_UPLOAD_PROGRESSapc.rfc1867_freq=0apc.rfc1867_ttl=3600; Optimize include_once and require_once calls and avoid the expensive system calls used.apc.include_once_override=0apc.lazy_classes=0apc.lazy_functions=0; Enables APC handling of signals, such as SIGSEGV, that write core files when signaled. ; APC will attempt to unmap the shared memory segment in order to exclude it from the core fileapc.coredump_unmap=0; Records a md5 hash of files. apc.file_md5=0; not documentedapc.preload_path

APC (like Zend Optimizer and XCache and any other PHP opcode cache) should work transparently but in the case of at least one buggy release of APC that is not the case. I've heard that upgrading to newer releases of APC resolves the problem but haven't investigated specific versions in detail. We've had good success with XCache.