It appears that you're running an Ad-Blocker. This site is monetized by Advertising and by User Donations; we ask that if you find this site helpful that you whitelist us in your Ad-Blocker, or make a Donation to help aid in operating costs.

UBB.threads System Requirements Test · Wiki

What Is Covered

Developer Notes
Compatibility Checks
     • PHP Version
     • filter_var
     • mysql_connect
     • mb_convert_case
     • iconv
     • ctype
     • GD
     • preg_replace
     • json_encode
     • DOMDocument
     • SimpleXMLElement
Possible Problems
     • EXIF Read Data
     • PHP File Get Contents
     • PHP Allow URL FOpen - File Get Contents Remote URLs
     • PHP fsockopen
     • PHP Max Input Vars
     • PHP Max Execution Time
     • PHP Memory Limit
     • Suhosin
          • Suhosin - Post Max Vars
          • Suhosin - Request Max Vars
Configuration Display
     • Image Processor
     • suphp
     • ImageMagick
Additional Information
     • GZip
     • Maximum Execution Time
     • Maximum UBB.threads Version
     • Maximum Upload File Size
     • Memory Limit
     • MySQL
     • PHP Interface
     • PHP Version
     • Reported Host
     • Reported IP
     • Reported OS
     • Reported Path
     • Reported Port
     • Post Max Size
     • Time
     • Upload Maximum Filesize
     • ZLib



A Test Script has been made available by VNC Web Services, which is available on our archive (link below).

This script was originally written to test if your server is compatible with the settings needed for UBB.threads, but it can also be utilized to troubleshoot several server settings which can cause issues with web scripts in general.



You can see the UBB.threads System Requirements Test in action at UBB Developers Network or here on UBBWiki.


Developer Notes

(Download the latest build here)
Build 20210801
Added: A Current MySQL Connections calculation has been added to the Maximum Allowed Connections variable
Added: Script Version Reporting (current UBB.threads Test Script version) is now also submitted with the Submit Server Information payload.
Added: The current (as of release) versions of UBB.threads, PHP7.4, and PHP5.4 are now displayed for max/minimum release comparison.
Change: PHP5.4 is now a minimum (due to now utilizing the PHP Short Array Syntax)
Change: Fontawesome CDN version updated
Change: UBB.threads URLs have all been updated, VNC Web Services properties (VNC Web Services, UBBDev, UBBWiki) and UBBCentral no longer utilize WWW in the URL
Change: The minimum/maximum UBB.threads version calculation has been retooled and PHP8 is now a factor in calculations (which results in an error as UBB.threads v8 has yet to be released).
Fix: Properly defining arrays prior to utilizing them
Fix: Properly sanitizing both $config arrays (parsing is now done within the while loop vs relying on filtering earlier in line)

Build 20201025
Added: Added a new debug mode which will allow one to see what values the test script arrays contain.
Added: Added new configuration checks for v7.7.5 values (Pinterest, Like Locked Threads, etc.)
Added: Added the ability to submit your server and UBB.threads configuration values to the UBB.threads developers (; this will allow us to troubleshoot your UBB.threads configuration or server configuration issues (note that all usernames and passwords are not sent with your payload; these values will display as they do within the Test Script as "[Scrubbed for Security]"; you can validate what values are sent by viewing the source of the test script on your webserver and scrolling down to the "<input type="hidden" name="payload" value="

UBB.threads Configuration

" line).
Added: Added the HTML5 Valid badge, with updated coding for displaying the script URL on a target server.
Change: The MySQL/MySQLi check has been retooled to not display a warning when mysql_ commands are missing when the mysqli_ commands are present (mysqli_ commands are present in PHP5); the MySQL functions were removed from PHP in PHP7 in favor of the MySQLi functions.

Build 20200304
Added: New configuration information added for Reddit sharing and UBB.threads Likes
Added: Human Readable values for default user groups and max likes per day
Added: Known key indexes for Reddit Sharing and UBB.threads Likes
Added: Display 0 as Unlimited for specified keys (currently just likes_per_day_max)
Added: cURL version, Maximum Input Variables value, OpenSSL Version, and Secure Connection values are now displayed
Change: Human Readable value applied to UBB.threads Likes
Change: Blank fields now supplemented with [Empty] vs --- blank ---
Change: Updated all URLs (new page locations and HTTPS)
Change: We now identify the PHP variable name with the "friendly name" in the Additional Information area
Change: Code clean up and optimizations
Fix: Added an option to suppress errors for non-number values being parsed as a number (rarely happens, but can happen with invalid inputs).
Fix: Fixed a bug affecting the parsing of the "default user groups" option in the parser

Build 20190727
Added: Added a filesize display, which will show filesizes as they're expected (as bytes/megabytes/gigabytes; see $conf["filesize"]).
Added: Added a human readable display, which will commify any large numbers (see $conf["human"]).
Added: We now check for the PHP function "exif_read_data" which can read your device orientation for photo uploads.
Added: We now check for the PHP Handler "suphp" and provide a warning if your $_SERVER["DOCUMENT_ROOT"] has chmods greater than 755.
Added: We now check for the UBB.threads configuration variable "IPGEO_LOOKUP" (Enable Reverse Geo-IP Lookups).
Added: Introduced a basic troubleshooter which will detect issues with your UBB.threads configuration
Added: Added a troubleshooter for chmods greater than 755 while operating under suphp for both your forum and forum admin folders.
Added: Added a troubleshooter which will alert you to missing ImageMagick paths when it is detected on the system but values are not in your UBB.threads configuration.
Added: Added a troubleshooter which will alert you when both GD and ImageMagick appear to be missing from your system.
Change: The "max_execution_time" notice now recommends a value no higher than 60.
Change: The Admin Log Path, SQL Log Path, and Session Path values are set to be scrubbed by default; if you would like to share those paths and private data you may set the $conf["private"] variable to 1 (default 0).
Change: Various code cleanup and CSS formatting changes.

Build 20190628
• Added: Database Statistics now display when including your UBB.threads configuration (Server Version, Database Size, Max Allowed Connections, Max Allowed Packet, Index Usage, Query Cache Size)
• Added: Introduced a human readable parsing option for items requiring a comma
• Added: New v7.7.2 configuration variables (Identicons, Social Fields, HTTPs Images, News Images, IP & Location URLs, UTF8 Conversion)
• Added: SMTP values are now in the suppressed items array
• Added: There is now an option to display the page output as a text only listing which suppresses all page styling.
• Fix: Maximum Upload Size Allowed has been updated to use min() to detect the smaller value.
• Fix: Reported Path now suppresses its value when $conf["mask"] is enabled
• Updated: "build_check" Function, and Code/Styling Updates & Cleanup

Build 20190121
• Added an option to not parse the config file when the path is populated; this will allow a version check without a full configuration file parse.
• Added a MySQL Version Check when the path is populated, this will display your MySQL Server version in the Additional Information area.
• Retooled the min/max version version check to display a combined warning when the system doesn't support UBB.threads.
• Added a tick to switch the list style, current options are now 0/Bullets, 1/Fancy Indicators (FA Coffee Mugs), 2/Numerated, 3/Roman Numerals
• Lowered the check value of "max_execution_time" to be at least 30 seconds (from 60 seconds).

Build 20190101
• Major retooling of the UBB.threads Configuration Parser
• Build now displays at the top of the page.
• System checks for PHP7 and PHP7.1 for UBB.threads v7.7; there is a check for builds of PHP7.2+.
• System checks retooled for PHP7 support.
• Added checks for MySQLi Connect and MySQL Connect
• Added min/max reporting to the System Requirements section
• Added ImageMagick binary path detection
• Added an Insert Break function which will break long strings (URLs) on the page where necessary.
• Code and display cleanup
• Retooled the maximum upload size allowed, should always show the correct value.

Build 20180828
• Added a version check which displays your installed database version vs the software version listed in (UBB.threads v7.6.1+) to the UBB.threads Configuration Parser.
• Added a database size listing to the UBB.threads Configuration Parser.
• Removed the need for a trailing slash in the folder config.
• Reduced script container to a maximum width of 768px.
• Fixed a bug in the Maximum Upload Size Allowed listing.

Build 20171220
• Configuration Display - Will display a human readable view of the UBB.threads Configuration file; sensitive information, such as passwords and API keys are scrubbed for security (default).
• Option to mask the server paths from the UBB.threads Configuration Display (not masked by default).
• Updated UBB.threads PHP Compatibility Check (PHP v5.4 is the recommended build of PHP for UBB.threads v7.6+)
• Another reworking of the script style.
• The fancy icons (FontAwesome) are now disabled by default.
• Now linking to the HTTPS versions of the UBB.threads sites in the footer.
• The Maximum Upload Size calculation should now display the correct value.

Build 20170525
• Another style update, easier on the eyes and more modern
• Fixed broken URL in "about"
• Version Check has been updated to have a check for PHP5.4+ (UBB.threads v7.6.x) and v7.5.9 was updated to read out UBB.threads v7.5.9.1 (the end of the v7.5 series)
• Version Check has been updated to check for a MINIMUM supported version
• Compatibility Listing now shows the Max/Min versions in "Additional Information" vs just the maximum supported.
• Maximum Upload Size displayed (the larger of "post_max_size" and "upload_max_filesize")

Build 20170227
• Fancy Indicators - An option has been added for "Fancy Indicators" (cups of coffee vs bullets), which is on by default.
• BASE64 Favicon - The UBBWiki favicon has been added as a BASE64 encoded image.
• New Color Scheme - New, Faster, and Revamped!
• Update Check - An option to check UBBWiki for the latest version, to ensure you're using the most up to date version of code checks (we assume that file_get_contents exists and allow_url_fopen is enabled; which are base functions and are required to use the Stop Forum Spam functionality in UBB.threads.
• Additional Checks - mb_convert_case (required for UTF8 support, which is required for future PHP7 support), allow_url_fopen (which is required for Stop Forum Spam to function).

Build 20170202
• Added a check for the PHP "mysql_connect" function, which is required to connect to the MySQL database.
• Added a "linkback" function and linked all of the error/warning messages to their anchor on this Wiki page.
• Updated several comments to checks which aren't yet live (they're commented out because UBB.threads does not require them current (mysqli_connect, spl_autoload_register, PDO::ATTR_DRIVER_NAME, max_input_time, suhosin.get.max_vars)

Build 20170101
• Added additional checks for file_get_contents and fsockopen (used by the Stop Forum Spam feature).
• Added a target to all of the links, so that you stay on page while reading additional information.
• Removed most v7.6.0 notices, to make the script target past UBB.threads builds as well.
• Updated styling.
• Updated URLs to UBBWiki and VNC Web Services to default to SSL.

Build 20160222
• Added a notice for lack of PHP7 support, if detected.
• Added coding for future checks of MySQLi and PDO, depending on future plans for PHP7 compatibility.
• General Code Cleanup
• Maximum UBB.threads version check added; will check your reported PHP version against the minimum requirements for UBB.threads on all versions in the 7.5.x series as well as the upcoming 7.6.x series.
• Modified how several existing checks reported information.
• Added a display of the detected operating system and interface used by the web server.

Build 20151204
• Now HTML5 valid
• General Script Cleanup
• Will now always display values for PHP Maximum Execution Time, PHP Memory Limit, and the PHP Version running on the server.

Build 20150914
• Added checks for filter_var and the display of the unadjusted server time.

Build 20150502
• Initial public build.



Support for the UBB.threads System Requirements Test can be found at the UBBDev thread UBBDevelopers: UBB.threads System Requirements Test


Compatibility Checks


PHP Version

The minimum required version of PHP in UBB.threads is:
v8.0+ Can be run on PHP8 (Upcoming Release)
v7.7.0+ Can be run on PHP7
v7.6.0+ Requires PHP 5.3 or newer.
v7.5.9 Requires PHP 5.1.2.
v7.5.6 Requires PHP 5.0 or newer.
v7.5.0 Requires PHP 4.3.
PHP v7+ is only supported by UBB.threads v7.7.0+.



The filter_var function will filter a variable from a string using the specified filter. It is compiled, by default, in PHP 5.3+. This is a required function as it allows us to check if an IP Address is IPv4 or IPv6 for validating users through Stop Forum Spam (as the SFS database does not, at this time, support IPv6).



The mysql_connect function is how we connect to the MySQL Database; starting in UBB.threads v7.7.0 we utilize mysqli_connect (MySQLi) but we do not support PDO::ATTR_DRIVER_NAME (PDO). The mysql_connect warning is not applicable if your system is PHP7.
You may see an error similar to:
Call to undefined function mysql_connect()

PHP v7 users (PHP7 is only supported by UBB.threads versions v7.7 and onwards) users will see an error similar to:
"Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead"



mb_convert_case is required in by the UBB.threads base library, it is used to change the case of text supplied by the "subject" of each posting to the generated URLs and should, by default, be enabled by your web host.



The iconv API is the standard programming interface for converting character strings from one character encoding to another in Unix-like operating systems. For more information, see: Wikipedia: iconv



The functions provided by this extension check whether a character or string falls into a certain character class according to the current locale (see also setlocale()). For more information, see: Character Type Checking



The GD Graphics Library is a graphics software library by Thomas Boutell and others for dynamically manipulating images. Its native programming language is ANSI C, but it has interfaces for many other programming languages. It can create GIFs, JPEGs, PNGs, and WBMPs. Support for drawing GIFs was dropped in 1999 when Unisys revoked the royalty-free license granted to non-commercial software projects for the LZW compression method used by GIFs. When the Unisys patent expired worldwide on July 7, 2004, GIF support was subsequently re-enabled. For more information, see: Wikipedia: GD Graphics Library



preg_replace - Perform a regular expression search and replace. For more information, see preg_replace



json_encode - Returns the JSON representation of a value. For more information, see json_encode



Represents an entire HTML or XML document; serves as the root of the document tree. For more information, see DOMDocument



Represents an element in an XML document. . For more information, see SimpleXMLElement


Possible Problems


EXIF Read Data

Reads the EXIF headers from an image file. For more information, see exif_read_data


PHP File Get Contents

If file_get_contents is not enabled you will be unable to use the Stop Forum Spam functionality. For more information, see file_get_contents


PHP Allow URL FOpen - File Get Contents Remote URLs

If allow_url_fopen is not enabled you will be unable to use the Stop Forum Spam functionality. For more information, see allow_url_fopen


PHP fsockopen

If fsockopen is not enabled you will be unable to supply data to the Stop Forum Spam API. For more information, see fsockopen

For security, your host may have disabled remote content from being loaded via file_get_contents or fsockopen; so where they may be enabled, they may still not allow content to be processed from remote scripts.


PHP Max Input Vars

If max_input_vars has a value that is equal to or less than 1000 a warning that should be taken under advisement for UBB.threads installs with many forums will appear. For more information, see: UBBWiki: Issues with the PHP 'max_input_vars' Setting and Runtime Configuration - max_input_vars


PHP Max Execution Time

A notice will be displayed if max_execution_time has a value of less than 30 or is larger than 60. For more information, see Runtime Configuration - mad_execution_time


PHP Memory Limit

If memory_limit is a value of 32M a recommendation that this value be increased to at least 128M will appear. For more information, see Resource Limits - memory_limit



Suhosin (pronounced 'su-ho-shin') is an advanced protection system for PHP installations. It was designed to protect servers and users from known and unknown flaws in PHP applications and the PHP core. Suhosin comes in two independent parts, that can be used separately or in combination. The first part is a small patch against the PHP core, that implements a few low-level protections against buffer overflows or format string vulnerabilities and the second part is a powerful PHP extension that implements numerous other protections. For more information, see

If suhosin has been detected on your system, a warning will be displayed to read UBBWiki: Issues with the PHP Module 'suhosin'


Suhosin - Post Max Vars

If '' has the default value of 1000 (or below) a warning that you're using the default settings will display. For more information, see


Suhosin Request Max Vars

If 'suhosin.request.max_vars' has the default value of 1000 (or below) a warning that you're using the default settings will display. For more information, see suhosin.request.max_vars


Configuration Display

The UBB.threads Configuration Display will appear when you populate the $conf["path"] configuration variable with the path to your UBB.threads directory (either as a full filesystem path or the path from where the System Requirements Test script resides). Not every configuration variable is currently displayed, and they will be periodically updated.



A basic troubleshooter is included in the test script which will test your UBB.threads configuration for several common issues.


Image Processor

Features such as the Gallery and Captchas require an image processor; generally GD is compiled with PHP but can at times be missing when hosts build PHP from source and neglect to compile it in. ImageMagick is a set of binary tools which provide crisp high quality images, but generally has to be installed to the server by your webhost if it does not exist.



suPHP is a tool (Apache module) for executing PHP scripts with the permissions of their owners or a program that controls who can access certain files. All scripts executed on the server need to be authorized to run on the server. This enhances security by not running scripts as the web server user (nobody) or as root.

The suphp Troubleshooter checks that the permissions of your UBB.threads folder, and the UBB.threads admin folder, are not above 755; suphp will generally throw an error when PHP scripts are executed from folders with execute permissions.



ImageMagick is a free and open-source software suite for displaying, converting, and editing raster image and vector image files.

The ImageMagick Troubleshooter checks if ImageMagick exists on your system, and if detected will check that your paths to the ImageMagick convert and mogrify binaries are set in your UBB.threads configuration.


Additional Information



Most modern web browsers accept web pages encoded in GZIP or Deflate encoding method, with GZIP as the more popular compression format. Webmasters and system administrators are also encouraged to implement GZIP compression.

PHP can compress the content output by the PHP scripts, including HTML, JavaScript and CSS codes which are included inside the PHP files. GZIP compression is supported by default on PHP version 4.3 or newer.


Maximum Execution Time

The maximum time that the server will allow a script to run.


Maximum UBB.threads Version

The maximum version of UBB.threads that your server supports.


Maximum Upload File Size

'upload_max_filesize' determines the maximum size of an uploaded file. For more information, see ini.core - upload_max_filesize

Upload Maximum Filesize must not be greater than Post Max Size as Post Max Size sets how large the POST stream can be, whereas Upoload Maximum Filesize is the maximum size of the individual file(s) being uploaded.


Memory Limit

The maximum memory limit that the server will allow a script to utilize.



MySQL is the database server that UBB.threads utilizes; MySQL v5.0 or newer is required, please manually check that you meet this requirement. For more information, see:


PHP Interface

The reported PHP SAPI interface.


PHP Version

The version of PHP running on your server.


Reported Host

The reported Host Name (usually your URL).


Reported IP

The reported IP for your host.


Reported Operating System

The reported Operating System.


Reported Path

The path to the folder which the UBB.threads System Requirements Test file exists in.


Reported Port

The reported port used in this instance of the UBB.threads System Requirements Test (Port 80 indicates the standard connection port, 443 would indicate SSL).


Post Max File Size

'post_max_size' sets the maximum size of post data that is allowed. This setting also affects file uploads. To upload large files, this value must be larger than 'upload_max_filesize' (see Upload Maximum Filesize above). Generally speaking, 'memory_limit' should be larger than 'post_max_size'. ini.core - post_max_size



A check was added to detect the current, unadjusted, system time for support issues.



zlib is a software library used for data compression. zlib was written by Jean-Loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compression program. zlib is also a crucial component of many software platforms including Linux, Mac OS X, and iOS. It has also been used in gaming consoles such as the PlayStation 4, PlayStation 3, Wii U, Wii, Xbox One and Xbox 360. For more information, see Zlib Compression and Wikipedia: ZLib
Posted By Gremelin Posted on May 1st, 2015 · Updated on August 3rd, 2021
▼ Sponsored Links ▼
▲ Sponsored Links ▲

Comments and Attributions

The original System Requirements Test script was originally adapted from the XenForo test script, which can be found here


( Posted)