PHP 致命错误:date():时区数据库已损坏

PHP 致命错误:date():时区数据库已损坏

我从 EPEL 安装 wordpress 到 CentOS:

yum install wordpress

并且只有我手动禁用 SELinux 时它才能工作。否则我会看到此错误:

PHP 致命错误:date():时区数据库已损坏 - 应该 绝不发生!在 /usr/share/wordpress/wp-includes/functions.php 第 105 行,引用者: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)

我怎样才能解决这个问题?

答案1

您的文件再次具有错误的 SELinux 安全上下文。这和您之前遇到的问题是一样的。

此时我建议您重新标记,不仅是立即受影响的文件,而且是整个文件系统。

restorecon -r -v /

答案2

除此之外restorecon,你可能需要让 SELinux 上下文在文件系统重新标记后继续存在,使用以下semanage命令 -

例如。

 semanage fcontext -a -t locale_t /usr/share/zoneinfo
 semanage fcontext -a -t locale_t /usr/share/zoneinfo/Africa

阅读 RedHat 文档使用 semanage 进行持久更改。

相关内容