PHP Fatal error: date(): Timezone database is corrupt

Antonio asked:

I installed wordpress to CentOS from EPEL:

yum install wordpress

And it can only work if I manually disable SELinux. Otherwise I see this error:

PHP Fatal error: date(): Timezone database is corrupt – this should
never happen! in /usr/share/wordpress/wp-includes/functions.php on line 105, referer: http://www.myblog.com/wp-admin/

ls -Z /usr/share/zoneinfo
drwxr-xr-x. root root system_u:object_r:user_home_t:s0 Africa
drwxr-xr-x. root root system_u:object_r:user_home_t:s0 America
drwxr-xr-x. root root system_u:object_r:user_home_t:s0 Antarctica
drwxr-xr-x. root root system_u:object_r:user_home_t:s0 Arctic
drwxr-xr-x. root root system_u:object_r:user_home_t:s0 Asia
drwxr-xr-x. root root system_u:object_r:user_home_t:s0 Atlantic
...
(many lines skipped)

How can I fix this?

My answer:


Once again your files have the wrong SELinux security contexts. This is the same problem you had before.

At this point I suggest you relabel, not only the immediately affected files, but the entire filesystem.

restorecon -r -v /

View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.