【问题标题】:Error with date.timezone in php.iniphp.ini 中的 date.timezone 错误
【发布时间】:2014-07-01 12:32:12
【问题描述】:

我正在尝试在新 Mac 上安装 Symfony 项目,但一直出现此错误:

[ErrorException] date_default_timezone_get():依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们现在选择时区“UTC”,但请设置 date.timezone 以选择您的时区。

  1. 我已经使用 phpinfo(); 验证了我的 PHP 版本。
  2. 我的 php.ini 的路径是/Applications/MAMP/bin/php/php5.5.10/conf
  3. 我打开了我的 php.ini 并将 date.timezone 更改为 date.timezone = "Europe/Paris"
  4. 我多次重新启动 MAMP,但始终出现相同的错误
  5. 我还注意到我在同一个文件夹中有一个php.ini.temp。我还更改了此文件中的 date.timezone,但它仍然不起作用。

有人知道发生了什么吗?

谢谢!

【问题讨论】:

  • 请记住,您有两种不同的 php:一种用于 Web 服务器,另一种用于控制台。在控制台中,...尝试运行“$ php -i | grep ini”来查找控制台的 php.ini 文件。
  • 非常感谢您的回答,但与此同时,我找到了问题的答案。正如你所说,我实际上是从错误的 php 更改 php.ini 文件。符号链接解决了我的问题。如果这可以帮助某人: cd /usr/bin -> bin 文件夹,我正在使用 sudo mv php phpold -> 更改我正在使用的 php 的名称 sudo ln -s /Applications/MAMP/bin/php /php5.4.26/bin/php -> 创建一个指向 mamp php 的符号链接 现在如果我尝试 ls,我的 bin 文件夹中有两个 php(php 和 phpold)。一切正常。 ;)

标签: php symfony datetime mamp


【解决方案1】:

你应该简单地添加到你的 Symfony 控制器:

phpinfo();

你会知道你的 php.ini 的位置,你应该确保你改变了这个文件中的值。

您还应该考虑在脚本中设置时区:

date_default_timezone_set('Europe/Paris');

因为您(或其他人)将来可能会简单地将其更改为其他时区

【讨论】:

    【解决方案2】:

    Symfony 使用 php 命令行 (CLI) 进行安装,因此编辑 /etc/php5/apache2/php.ini 将无效。

    尝试编辑 php-cli 配置。在 debian 上:

    vim /etc/php5/cli/php.ini
    date.timezone = "Europe/Paris"
    
    /etc/init.d/apache2 restart
    

    【讨论】:

      【解决方案3】:

      我在安装 Sylius 时遇到了类似的问题。 我已经更改了从 phpinfo() 脚本获得的 php.ini 中的时区。 配置文件位置为:/etc/php/7.4/fpm/php.ini

      即使在那之后,Sylius install 也报告了同样的问题。所以,我按照以下步骤操作。

      php -i | grep timezone

      Default timezone => Asia/Calcutta
      date.timezone => no value => no value
      

      php -i | grep php.ini:

      Configuration File (php.ini) Path => /etc/php/7.4/cli
      Loaded Configuration File => /etc/php/7.4/cli/php.ini
      

      更新上述 CLI 配置文件中的值后,一切顺利。

      【讨论】:

        【解决方案4】:

        $ su root

        输入root密码

        $ vim /etc/php.ini

        在此文件中编辑时区

        【讨论】:

        • 首先他使用MAMP 所以他的操作系统可能是Mac/Windows。那么你的答案对他不起作用,与Linux OS 一起工作,为什么他需要成为 root ?您可以在vim /etc/php.ini 之前使用sudo 命令编辑php.ini 文件。
        猜你喜欢
        • 1970-01-01
        • 2012-10-13
        • 1970-01-01
        • 2016-08-26
        • 2018-03-29
        • 2013-12-25
        • 2012-11-15
        • 1970-01-01
        • 2014-07-31
        相关资源
        最近更新 更多