当我在 httpd error_log 上执行 tail -f 时,每次请求时都会收到以下错误
[Sun Jun 03 15:52:48 2012] [error] [client xxx.xxx.xxx.xxx] PHP Warning: PHP Startup: timezonedb: Unable to initialize module
[Sun Jun 03 15:52:48 2012] [error] [client xxx.xxx.xxx.xxx] Module compiled with module API=20050922
[Sun Jun 03 15:52:48 2012] [error] [client xxx.xxx.xxx.xxx] PHP compiled with module API=20090626
[Sun Jun 03 15:52:48 2012] [error] [client xxx.xxx.xxx.xxx] These options need to match
[Sun Jun 03 15:52:48 2012] [error] [client xxx.xxx.xxx.xxx] in Unknown on line 0
任何帮助修复此问题的帮助都将不胜感激。提前致谢!
答案1
您需要安装较新版本的 timezonedb PECL 扩展。您使用的版本似乎与您使用的 PHP 版本不兼容。
编辑1:根据您使用的操作系统和 PHP 版本,PHP 可能配置不正确,无法加载外部 timezonedb 扩展。查看您的 PHP 配置文件,看看其中是否存在以下行:
extension=timezone.so
如果存在,请暂时将其注释掉,看看是否能解决您的问题。
编辑2:查看文档PECL 时区数据库:
此扩展是 PHP 内置时区数据库的替代品。只有在您需要获取比 PHP 附带的时区数据库更新的版本时,才应安装此扩展。
换句话说,除非您需要比 PHP 版本附带的版本更新的 timezonedb 版本,否则您不应将其安装为外部扩展。就您而言,PHP 似乎正在尝试加载外部扩展,而该扩展与您使用的 PHP 版本不兼容。由于 PHP 已经内置了 timezonedb,因此您可以放心地注释掉 PHP 配置文件中加载外部扩展的行。
编辑3:尝试使用以下命令更新 timezonedb 扩展:
pecl upgrade timezonedb
如果此方法无效,请尝试以下操作:
pecl install timezonedb