X-Cart:Server Requirements (X-Cart 4.1)

From X-Cart 4 Classic
Revision as of 16:35, 25 March 2010 by Ivka (talk | contribs) (Advanced requirements and recommended settings)
Jump to: navigation, search

Operating system


PHP configuration

PHP version

4.0.6 or later (PHP 5 is also supported).

php.ini settings

required values:

safe_mode = off
file_uploads = on
magic_quotes_sybase = off
sql.safe_mode = off
allow_url_fopen = on
register_long_arrays = on (PHP5 only)
ini_set = on

recommended values:

error_reporting = E_ALL & ~E_NOTICE
output_buffering = 4096
disable_functions = NULL
post_max_size >= 2M
upload_max_filesize >= 2M
max_execution_time >= 30
memory_limit >= 16M
max_input_time >= 30
sendmail_from = ...@domain.com (an email address, from which sending mail is allowed)

PHP extensions




FTP - to be able to upload files to GoogleBase
Zlib - for data compression on the fly
GDLib 2.0 or higher - for X-Magnifier add-on. GDLib must be compiled with libJpeg (ensure that PHP is configured with the option --with-jpeg-dir=DIR, where DIR is the directory where libJpeg is installed).
Mcrypt - highly recommended to speed up the Blowfish data encrypting process
xml/Expat - for Intershipper, UPS or USPS shipping modules.
cURL - for some of the online credit card processing modules and for shipping modules.
OpenSSL - for iDEAL Advanced and iDEAL RaboBank Professional payment modules.

Other recommendations

  • PHP should be compiled with the "--enable-memory-limit" option.
  • The real amount of memory, which PHP scripts are allowed to use should be equal to or more than 16Mb (if PHP has been compiled without the "--enable-memory-limit" option).
  • During product import, product modification or upgrading process, more than 24 Mb of memory might be necessary.
  • PHP "mail()" function should not be included into the disabled functions list, so that sending email notifications, news messages, etc. is possible.
  • If you wish to use an external mail program (like qmail or postfix) instead of the PHP "mail()" function, this mail program must be installed and configured.
  • If you wish to use an SMTP server instead of the PHP "mail()" function to send mail from the store, the SMTP server must be installed and configured.
  • PHP function "exec()" must be allowed for the correct functioning of most of the CC payment processing modules used with X-Cart (CyberCash, CyberPac (LaCaixa), DataTrans, PayBox, CyberSource, PaySystems Client, VaultX), HTTPS modules (Net::SSLeay, CURL, OpenSSL, https_cli), GnuPG/PGP, X-Carts Patch/Upgrade functionality.
  • PHP functions "popen()" & "pclose()" must be allowed for the correct functioning of some HTTPS modules (CURL, Net::SSLeay), payment modules (Saferpay, CyberSource, DIBS), shipping modules (DHL/Airborne, Canada Post, UPS Online Tools, Intershipper, AntiFraud module.

For help on PHP configuration settings, visit http://www.php.net.

MySQL configuration

MySQL version

Supported versions: 3.23 - 5.X

Recommended version: 4.1.22

Not recommended versions: 5.0.50, 5.0.51 (These versions contain some known bugs that may prevent X-Cart from operating correctly).

Note: The most up-to-date information on compatibility with specific versions of MySQL is available on the site http://www.x-cart.com.

MySQL server settings

MAX_CONNECTIONS >= 200 (required)

MySQL user privileges

Required basic privileges:


Privileges, required for software installation/upgrade:


MySQL user limitations

Required values:

MAX_QUESTIONS - no limitations
MAX_UPDATES - no limitations
MAX_QUERIES_PER_HOUR - no limitations
MAX_USER_CONNECTIONS - no limitations

Recommended values:

max_allowed_packet - 2-8 MB recommended
wait_timeout - minimum 7200 (28800 recommended)
Note: a 'Lost connections' error may appear if the values of the options 'max_allowed_packet' and 'wait_timeout' are too low.

Disk space

A fresh installation of X-Cart 4.1 uses 15 megabytes of disk space at least. In addition to that, some disk space will be needed for X-Cart's cache data, image files (if you choose to store them on the file system) and customizations.

MySQL space

The amount of space required for X-Cart database depends on the number of products, customers and orders that will be stored there. Accordingly, database space requirements may vary from as little as 1 megabyte for small shops to over 100 megabytes for large stores.

Advanced requirements and recommended settings

Network settings

  • Your web server must be allowed to run external executable files (like Perl) and to make outgoing connections to the Internet. This is required for the correct operation of some HTTP bouncers and online payment modules.
Important: If you are planning to use a Windows hosting, please make sure that X-Cart gets installed at a location from which it can freely access any external executable files which it might need for its work:
  • the full path to X-Cart installation directory must not include any space symbols;
  • the filepaths to the external executable files must not include any space symbols.

Examples of bad paths:

  • C:\My Websites\xcart
  • C:\Program Files\Perl\bin\perl.exe
  • The server firewall must allow loopback connections. This is required for HTML catalog feature.
  • An HTTPS module might be required (like Net::SSLeay perl module, CURL executable, OpenSSL executable or libCURL PHP extension) for some of the online credit card processing modules and for shipping modules.
  • An SSL certificate is highly recommended to ensure security of online transactions at your store.
Please refer to the page http://www.x-cart.com/ssl_certificates.html for a list of recommended SSL certificates.

Important! These are the basic system requirements. Some specific settings may be needed for different store configurations.