Our themes include a special section called System Status. Here you can check if the server and wordpress parameters are properly set for optimal performance. In this guide we will cover how those parameters can be set.
I) Missing PHP extensions
1) Edit php.ini and search for the following lines:
2) Remove the ; sign that appears at the beginning of each line
3) Save php.ini and restart apache
1) Go to C-Panel > Software > Select PHP version
2) From the select located at the top-left corner, chose the PHP version you want to use and the extensions panel will show up bellow. Press on “Set as current” button and wait until “Current PHP version” matches your selected one. Next make sure that the gd and mbstring extensions are checked. Press the “Save” button located at the bottom-left corner to save the settings.
Linux dedicated server:
1)Connect to the server using ssh and, depending on your Linux distribution and the version of PHP that you’re using, enter the following commands:
## Ubuntu PHP5 ## #sudo apt-get install php5-gd #sudo apt-get install php5-mbstring ## Ubuntu PHP7 ## #sudo apt-get install php7.0-gd #sudo apt-get install php7.0-mbstring ## Centos PHP5 ## #sudo yum install php5-gd #sudo yum install php5-mbstring ## Centos PHP7 ## #sudo yum install php7.0-gd #sudo yum install php7.0-mbstring
II) WP-Config settings
The wp-config.php file is located in the wordpress root directory.
WP Memory Limit:
This parameter sets the amount of memory used by php and by default worpress can go up to 40MB. To avoid Memory Exhausted error this parameter should be set to at least 256MB and this can be done from wordpress wp-config.php file.
define( 'WP_MEMORY_LIMIT', '256M' );
It is an option intended for development, it controls the reporting of some errors and warnings. It may display unwanted messages so you should disable it on your side. The default value is false.
III) Php.ini parameters
- max_input_vars – This sets how many input variables may be accepted (limit is applied to $_GET, $_POST and $_COOKIE superglobal separately). By default this parameter is set to 1000 and this may cause issues when saving the menu, we recommend that you increase it to 2000 or more.
- max_execution_time – This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. The theme demos download images from our servers and depending on the connection speed this process may require a longer time to execute. We recommend that you should increase it 60 or more.
- post_max_size – Sets max size of post data allowed. This setting also affects file upload.
- upload_max_filesize – To upload large files, like plugins zip files, you have to increase this value also.
Depending on the host they can be set from php.ini or .htaccess:
max_input_vars = 5000 max_execution_time = 300 post_max_size = 50M upload_max_filesize = 50M
php_value max_input_vars 5000 php_value max_execution_time 300 php_value post_max_size 50M php_value upload_max_filesize 50M
Note – Before trying any of those check the host documentation to see what’s the recommended method. The location of the php.ini may also differ from one server to the other, usually it’s located in the wordpress root, but on some servers it may be found in another location, you have to check the host documentation for more precise details.
Suhosin 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. If it’s installed on your host you have to increase the suhosin.post.max_vars and suhosin.request.max_vars parameters to 2000 or more.
suhosin.request.max_vars = 5000 suhosin.post.max_vars = 5000
php_value suhosin.post.max_vars 5000 php_value suhosin.request.max_vars 5000
Note – If Suhosin is not installed on your host you don’t have to modify these parameters.