DateTime 类在 PHP / Apache 中不起作用

1 php datetime server

DateTime 类(以及 DatePeriod 和 DateInterval)似乎在我当前的服务器上不起作用。PHP 5.3.3 是根据 phpinfo 页面安装的,当我将 get_declared_classes() 函数作为数组运行以查看定义了哪些类时,这些类似乎确实存在:

数组([0] => stdClass [1] => Exception [2] => ErrorException [3] => Closure [4] => DateTime [5] => DateTimeZone [6] => DateInterval [7] => DatePeriod [8] => LibXMLError...

但是,即使我使用 DateTime 运行最简单的 PHP 代码,我也会收到 HTTP 500 错误:

$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

这种较旧的符号确实可以正常工作,

$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,DateTime 无法正常工作。我在不同的服务器上使用这些 DateTime 对象编写了一些代码,并且运行良好。关于我可能有错误的想法?是否有我应该考虑的 php.ini 或其他设置?

-JF

小智 7

我最好的猜测是您在具有命名空间的类中使用它,因此 DateTime 需要\ 请发布更多类的代码,以便我们可以为您提供更多帮助。

所以这可能是它的工作方式(注意反斜杠\

$date = new \DateTime('2000-01-01');
Run Code Online (Sandbox Code Playgroud)

也请张贴您的 500 错误消息。您可能会在服务器的 error.log 中找到它。