Symfony - MAMP(windows) - 警告时区

Symfony - MAMP(windows) - warning timezone

我为 windows

安装了 MAMP

几个小时以来我一直有这个错误...

    [Symfony\Component\Debug\Exception\ContextErrorException]                   
 Warning: date_default_timezone_get(): It is not safe to rely on the system' 
 s timezone settings. You are *required* to use the date.timezone setting or 
  the date_default_timezone_set() function. In case you used any of those me 
 thods and you are still getting this warning, you most likely misspelled th 
 e timezone identifier. We selected the timezone 'UTC' for now, but please s 
 et date.timezone to select your timezone.

php.ini中(C:/MAMP/conf/php5.5.19/php.ini),我把DATE这一行改成这样:

    [Date]
; Defines the default timezone used by the date functions
date.timezone = "Europe/Paris"

而在我的 phpinfo() 中,加载的路径是:

Loaded Configuration File   C:\MAMP\conf\php5.5.19\php.ini

当我在控制台中执行命令时 php --ini 我有这个 :

C:\Users\Thomas>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

为什么 Configuration File (php.ini) Path:"C:\Windows" 而不是 C:\MAMP\conf\php5.5.19\。我可以更改此路径吗?

我不知道现在该怎么办...

谢谢!

在你的 web/app_dev.php 和 web/app.php 的开头你可以添加:

date_default_timezone_set('Europe/Paris');

问题是您的 xAMP 服务器和 cli 访问使用不同的 php 配置。

一个是 C:\Windows\php.ini for CLI 第二个是 C:\MAMP\conf\php5.5.19\php.ini for web server

确保您已更新这两个文件。

其次不要忘记重启 xAMP 服务器,因为 apache 不会自动重新加载 libapache2-mod-php5 配置。

我有同样的错误。我不知道它是从哪里来的,但经过反复试验,我发现它与我的 htdocs 文件夹中的特殊字符有关:

htdocs/Ex范例

通过将该字符更改为普通字符(从而更改为 htdocs/Ex示例),我不再遇到错误并且网站可以正常加载。

当您在 MAMP 中设置配置时,它只会影响以 Apache 模块处理程序模式加载的 PHP(映射为 Apache 进程内的模块)。如果要设置 PHP CLI,则需要将其与 Web 服务器配置分开设置。

  • 从 Windows 打开命令提示符(cmd.exe 从“开始”按钮)
  • 输入 ECHO %PATH%
  • 此命令将列出您当前的 PATH 变量和所有路径。例如,像这样:

    C:>回显%PATH%

    C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\binaries\php\php_runningversion ;C:\ProgramData\Oracle\Java\javapath;C:\Perl\site\bin;C:\Perl\bin ...

  • 现在输入以下命令

    设置路径=%PATH%;c:\mamp\bin\php\php5.6.0\;

这将从 MAMP 文件夹添加到 php5.6.0 版本的路径。

  • 您现在可以通过输入以下命令来测试您的 PHP CLI:

    php-v

  • 然后尝试从 MAMP 为版本 PHP5.6.0 文件初始化配置:

    C:>php -c "c:\mamp\conf\php5.6.0\php.ini" --ini

    配置文件(php.ini)路径:C:\WINDOWS 加载的配置文件:C:\MAMP\conf\php5.6.0\php.ini 在以下位置扫描其他 .ini 文件:(none) 解析的其他 .ini 文件:(none)

您可以使用 PHP CLI 中的命令 -c 来设置配置文件的路径; "c:\mamp\conf\php5.6.0\php.ini" 是 5.6.0.PHP ini 文件的路径。

如果您不想总是使用-c 命令添加配置文件的路径,只需将php.ini 文件从C:\MAMP\conf\php5.6.0\ 复制到C:\MAMP\bin\php\php5。 6.0\

当然,这将仅在当前打开的命令提示符中设置 PHP CLI。要永久添加此路径,您需要修改系统环境变量,或使用 MAMP PRO,因为它已经在 PHP 选项页面上具有此功能。

TL:DR - 确保使用您的 correct/approved php 时区编辑 ..\MAMPPRO\conf\php[version].ini..\MAMP\bin\php\php[version]\php.ini .


因此,在我进行设置时,我遇到了同样的问题。

我正在查看我的 phpinfo(),它为我提供了位于 ..\MAMPPRO\conf\php[version].ini 中的 "Loaded Configuration File" 的路径,所以我正在编辑该文件批准时区从 http://php.net/manual/en/timezones.php making sure to avoid any from http://php.net/manual/en/timezones.others.php.

重启几次后没有成功,我开始深入研究 MAMP Pro 拉动 ini 的位置。

我在 ..\MAMP\bin\php\php[version]\php.ini 中找到了解决方案。如果我编辑此文件除了编辑 MAMP Pro ini 一切正常。

希望对您有所帮助!