在服务器上我有 php 5.3.2。
如果我想运行简单的 php 脚本,像这样:
<?php echo date('Y'); ?>
...它给出了以下错误:
警告:date():依赖系统的时区设置并不安全。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了上述任何一种方法,但仍然收到此警告,则您很可能拼错了时区标识符。我们在 /htdocs/index.php 第 9 行选择了“Europe/Berlin”而不是“CEST/2.0/DST”致命错误:date():时区数据库已损坏 - 这绝不应该发生!在 /htdocs/index.php 第 9 行
php.ini 中的时区定义为欧洲/伦敦
我总是会收到该错误,无论我是否定义 date_default_timezone_set('UTC'),或 Europe/London,或其他什么......
我尝试编辑 /etc/init.d/httpd 文件,但我没有权限(由于 selinux?)
请帮忙...
答案1
这不是 PHP 错误 - 它只是告诉您某些地方出了问题,需要您纠正它。
我注意到了时区数据库已损坏——这绝不应该发生!- 在您的 shell 中尝试以下命令并重新启动 Apache apt-get install tzdata
:。
如果之后它仍然有问题(或者您已经拥有该包),请创建一个包含以下内容的新 PHP 文件并在浏览器中加载它:<?php phpinfo(); ?>
。
寻找加载配置文件并检查您正在编辑的 php.ini 文件。
打开该 php.ini 文件并查找以 开头的行date.timezone
。确保您选择的时区括在引号中 - 我使用的时区如下:date.timezone = "Europe/London"
。
修改并保存 php.ini 后,必须重新加载 Apache 以使更改生效。