【问题标题】:Getting "date.timezone => no value => no value" after setting date.timezone to "Europe/Paris"将 date.timezone 设置为“Europe/Paris”后获取“date.timezone => no value => no value”
【发布时间】:2016-04-23 11:49:13
【问题描述】:

问题描述

我正在尝试在我的 php.ini 文件(位于我的 /etc 文件夹中)中设置 date.timezone。我已经这样做了,当我打开它时,它清楚地显示date.timezone = "Europe/Paris",但是当我检查 symfony 系统要求时,它给了我一个错误(见屏幕截图)说它没有设置,当我检查我的 php 信息时它说“没有date.timezone 的值”。

问题

是什么导致 date.timezone 不更新?

我尝试过的和屏幕截图

我的第一个猜测是我可能正在修改错误的文件?但在 php -i 我得到:

/etc

/etc/php.ini :

php /bin/symfony_requirements:

检查 symfony 要求时出错。

php -i :

得到 date.timezone => no value => no value 当我检查 php 信息时。为什么?

<?= phpinfo(); ?>

正如您在下面的屏幕截图中看到的,在系统上没有找到任何 .ini 文件。

【问题讨论】:

  • 命令行中的 php -i 将告诉您命令行中使用的 php.ini 文件的位置....如果您想找到 web sapi 使用的 php.ini 文件,然后从浏览器运行包含<?php phpinfo(); 的脚本

标签: php macos symfony


【解决方案1】:

您可能有两个用于 CLI 和服务器的配置文件。

因此,如果您需要更改两者的时区。要为 CLI 查找 php.ini 文件的位置,请使用命令:

php -i | grep php\.ini

对于 php.ini 的网址,我建议使用 <?= phpinfo() ?>

您也可以使用(例如在内核文件中):

ini_set('date.timezone', 'Europe/Paris');

date_default_timezone_set("Europe/Paris");

此外,请检查您是否拥有php.ini 而不是php.ini.default

确保/etc/php.ini 拥有正确的权限(例如:sudo chmod 777 /etc/php.ini),否则无法访问任何值。

【讨论】:

    【解决方案2】:

    如果您使用的是linux操作系统,请检查以下路径

    vi /etc/php5/cli/php.ini
    

    并更改 date.timezone 然后重新启动 apache.. 我希望您的问题将得到解决。如果您遇到问题,请告诉我

    或者您可以将代码放在位于 web 目录的 app_dev.php 和 app.php 文件中

    ini_set('date.timezone', 'Europe/Paris');
    date_default_timezone_set("Europe/Paris");
    

    【讨论】:

    • 你怎么知道他在使用 Apache?顺便说一句,网络服务器通常不使用 cli 配置。
    • 是的,你是对的,但尝试更改 cli php 配置并检查.. 我认为它正在工作
    • @AshokChitroda 此路径在 mac 中不存在。
    • 输入命令获取 php.ini 路径 php --ini 你会得到路径然后打开它并在 .ini 文件中进行更改
    • /etc/php.ini -> date.timezone = "Europe/Paris" 我已经重启了我的 apache2 服务器。还是一样的错误。如果某个地方还有另一个 php.ini 文件,我将无法找到它。
    猜你喜欢
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-27
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    相关资源
    最近更新 更多