Requirements
JReviews is available for Joomla and WordPress. In addition to meeting the server requirements for your chosen CMS, make sure your server meets the requirements to install and run JReviews.
CMS Compatibility
- Joomla 4, 5, 6
- WordPress 6.x
Server Requirements
To run JReviews you'll need a server that meets the following requirements
- PHP 8.2 / 8.3 / 8.4
- PDO Driver for MySQL
- JSON PHP Extension
- Mbstring PHP Extension
- CURL PHP Extension
- BCMath PHP Extension
- Exif PHP Extension
- Fileinfo PHP Extension
- Zip PHP Extension
- Intl PHP Extension
- GD Library or ImageMagick
These PHP functions must not be disabled. JReviews calls them directly, so the feature listed beside each one fails with an error when the function is unavailable:
| Function | Needed for |
|---|---|
tmpfile |
Media uploads and transfers to remote storage |
sys_get_temp_dir |
Temporary files created while uploading media |
finfo_open |
File type detection for uploaded files |
getimagesize |
Image processing and thumbnail generation |
ignore_user_abort |
Serving uploaded images and file downloads |
error_log |
Recording the details of a failed page request |
Some of these come from a PHP extension rather than the PHP core, so a missing function can mean the extension is not installed rather than that the function was disabled. finfo_open needs the Fileinfo extension listed above.
The JReviews control panel checks for all of these and reports the ones that are unavailable under Setup Issues, so you do not have to inspect the server configuration yourself.
Background Processing
JReviews runs slower work outside the page request, including video and audio encoding, listings import and export via the Import Add-on, queued jobs and outgoing email. This needs a PHP command line binary on the server, plus a way to launch it.
Either of the following is enough to launch it:
proc_open,proc_close,proc_terminateandproc_get_status, which is the route JReviews prefers- at least one of
passthru,exec,shell_execandsystem, used when theproc_*functions are unavailable
The binary has to be a real command line build of PHP. JReviews checks this and rejects one that identifies itself as LiteSpeed, CGI or FPM, because those cannot run the job correctly.
None of this stops the site from working. When background processing is unavailable, the same work runs during the page request instead, so visitors wait for it to finish.
Installing Packages
To be able to install the packages:
-
php.ini
upload_max_filesizemust be higher than 8M. -
At least in Joomla 4.x the server's ulimit value for
nofile - max number of open file descriptorsmust be higher than 7000.You can check this number in the server's shell using the command:
ulimit -HnThe output should be something higher than 7000. Otherwise this needs to be updated in the server configuration files. Typically under
/etc/security/limits.conf. Please consult with your host or server manager.
If you see the following error when installing s2framework in Joomla, then you've ran into the above limitation.
Install path does not exist.
Package Install: There was an error installing an extension: com_s2framework.zip
We've opened an issue with Joomla that includes the code to easily get around this issue. You can patch your Joomla installation with the code that works, but unless Joomla updates this function, you will need to do this on every Joomla update to ensure the patch is not lost. Please voice your support for this change in the above Github issue.
Video and Audio Encoding
While JReviews allows and makes it easy to embed videos from YouTube, Vimeo, Daylomotion and Twitch; you can also build your own video and audio streaming platform by letting users upload these directly to your site.
JReviews has integrations with several cloud encoding services, which is the recommended solution to offload the resource requirements from your server. However, it also supports local encoding using FFMPEG. You need to consult with your hosting company for help with getting these installed on your server. Video encoding requires the libx264 and fdk-aac encoders. While audio encoding requires libmp3lame.
For audio, it's possible to completely bypass encoding for MP3 files.
Encoding jobs are started through background processing, so the server also needs to meet the background processing requirements.
Recommended Hosts
We use and recommend Digital Ocean and Hetzner to host JReviews sites.
Development Environments
If you are looking for options to develop locally on your own machine, we recommend using Herd for both Windows and Mac.