How do I set the time zones in order to correct mismatched Timestamps for MySQL and PHP?
The warning is because the timezone of the server does not match with the timezone set in MySQL. We had similar warning and after setting the timezone in both Centos &amp; MySQL, the warning is not displayed anymore.
Additional Info:
This is how we corrected/fixed the timezones, if it helps. The below instructions are for setting timezone to GMT, you need to use your timezone if you want to use the below instructions.
Setting the timezone in CentOS
Check the date and timezone
[root@my-server ~]# date
Mon Nov 24 10:27:14 CET 2014

The above is incorrect. We need to set GMT for Europe/London
Fix the timezone
[root@my-server ~]# rm /etc/localtime
[root@my-server ~]# ln -s /usr/share/zoneinfo/Europe/London /etc/localtime

Now check the date and timezone again
[root@my-server ~]# date
Mon Nov 24 09:30:14 GMT 2014

Setting the timezone in MySQL
Check the timezone in MySQL
mysql&gt; SELECT @@global.time_zone;
+-----------------------------+
| @@global.time_zone          |
+-----------------------------+
| SYSTEM                      |
+-----------------------------+
1 row in set (0.00 sec)

Set timezone '+00:00' for GMT
mysql&gt; SET GLOBAL time_zone = '+00:00';
Query OK, 0 rows affected (0.00 sec)

Now check the timezone again in MysSQL
mysql&gt; SELECT @@global.time_zone;
+-----------------------------+
| @@global.time_zone          |
+-----------------------------+
| +00:00                      |
+-----------------------------+
1 row in set (0.00 sec)