Back to my Page
Prolog
WordPress is famous for its 5 Minute Blaaaaah. You know what I mean. But there are so many server configurations out there, that you should face the truth, that there is a lot more to check and to do under certain circumstances. Here is my technical checklist.
Update January 2010: A Health Check Plugin is now developed to help with these tasks. July 2010: Not much traction, but still of interest. Re-Scheduled for ca. Aug 2010 (Jane Wells on Boulder 2010 WC).
WordPress Installation Checklist
Official Requirements
WordPress offical Requirements (and here by version and Recommended - not minimum - Setup) - at least take a peek you match them:
- PHP 5.2 or greater [My Version is: _______________ ] (The official requirements are not giving the full picture any longer)
- PHP Configuration: Safemode / Open Basedir. PHP should not be configured in safemode (deperecated) and with open_basedir restrictions. [ ( _ ) Yes, I have Safemode enabled ], [ ( _ ) Yes, open_basedir is set: ___________________ ]
- MySQL 5.0 or greater [My Version is: _______________ ]
- Memory: Wordpress needs 256 Megabytes of Memory [My PHP Memory Limit is: _______________ ] (, and if suhosin installed [My suhosin.memory_limit is: _____ ])
- Memory: Wordpress needs the PHP.INI memory value (memory_limit) configured in the M shorthand notation (Megabytes). Do not use bytes (no char), kilobytes (K) or Gigabytes (G) on both the PHP.INI and optional wordpress configuration constants. [( _ ) Yes, my PHP.INI memory and my wordpress memory value is written in the M notation] (Ref: #14889).
- Apache Webserver (Version not specified) with the mod_rewrite module [( _ ) Yes, Apache is installed, ( _ ) Yes, Mod_Rewrite is installed]
- Yes, I am aware ( _ ) wether or ( _ ) not mod_security is configured on the Server.
- Remote Connections: PHP and your Server must be able to perform Remote Connections. [( _ ) Yes, my Server is located in an Internet Environment and ( _ ) Yes, PHP is properly configured to let WordPress act as Web-Drone.]
- EXIF: Is the php exif extension loaded? [ ( _ ) Yes, I have checked that EXIF is loaded with php.]
- And all the Rest..... [ ( _ ) Yes, I have checked that Page properly.]
Useful Requirements
- HTTPS: Ensure your PHP configuration has HTTPS wrappers enabled. For those openssl is needed, a library/php extension that can be enabled in php.ini. This allows your wordpress install to make SSL requests. [ ( __ ) Yes, opensssl extension is enabled -or- ( __ ) No I don't have those configured.]
PHP Requirements
There are some things you should check, especially in case of error on a brand new install.
- Error Reporting: Ensure it is on and you LOG it. Locate the Logfile and check its content.
- Error Level of the Reporting in PHP is set [My Setting of PHP Error Level is: __________________________ ]
- Errors are logged. [( _ ) Yes, PHP Errors are loged to file. The Errorlog is located: _____________________________________________ ]
PHP Configuration
Some standard (and stable) PHP Versions do not work with Wordpress, even if they meet the official Requirements. Some Scenarios:
- zend.zel_compatibility_mode must be set to off on some setups or WP will crash #7388. [( _ ) Yes, I have checked that.]
- APC or other Bytecaches might render running WP with malfunctions. #5199. [( _ ) Yes, I am aware of the fact that I run a Bytecache. Or: ( _ ) No, there is no Bytecache]
- XML Libraries aka libxml2 problems have been solved in PHP 5.2.9 and libxml2 2.7.3. #7771 info [( _ ) Yes, I have checked that.]
- EMail WordPress is a bit chu-chu-a-go-go when it comes to send out emails. You should better check your servers requirements for the sender address before using wordress. #5007
- Magic Quotes WordPress does not work when magic_quotes_sybase is ON. Verify that magic_quotes_sybase is OFF for your installment otherwise this has massive security implications.
- WordPress requires the PHP PCRE extension (normally available).
- The SimplePie component in WordPress has it's own requirements which need to be matched, mainly the PHP XML extension should be loaded (normally available). See RSS Feed: “An error has occurred”.
Server Configuration
- MySQL Server: Ensure you configured Wordpress Database Charset and Collation (Checklist) properly.
- Mod_Security: You should be aware that Mod_Security Settings can render your Blog useless .htaccess Snippet #6509. [( _ ) Yes, Mod_Security is switched on.]
- Authentication: You might password protect your website with authentiaction offered by your webserver (Basic Auth for example). Some features of WordPress are not compatible with that type of authentication and files like the async-upload or wp-cron need to be excluded. [( _ ) Yes, I use Authentication and I'm aware of the problems.]
- Regular Expressions: Windows systems are known to not handle some of the regular expressions that are in wordpress as expected. This comes into play when your Blog is UTF8 based. The workaround is to not use a UTF-8 based blog on the microsoft windows operating system for production sites.
References
curl follow location error; WP_Http won't follow redirects if open_basedir is in effect