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 一切正常。
希望对您有所帮助!
我为 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 一切正常。
希望对您有所帮助!