我为windows 安装了MAMP
几个小时以来我一直有这个错误。。。
[SymfonyComponentDebugExceptionContextErrorException]
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:MAMPconfphp5.5.19php.ini
当我在控制台中执行命令php --ini
时,我有这样的:
C:UsersThomas>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:MAMPconfphp5.5.19
。我可以更改此路径吗?
我不知道现在该怎么办。。。
谢谢!
我也有同样的错误。我不知道它是从哪里来的,但经过一些尝试和错误,我发现它与我的htdocs文件夹中的特殊字符有关:
htdocs/Exámple
通过将该字符更改为普通字符(因此更改为htdocs/Example),我不再收到错误,网站将正常加载。
问题是您的xAMP服务器和cli访问使用不同的php配置。
一个是用于CLI的C:\Windows\php.ini第二个是web服务器的C:\MAMP\conf\php5.5.19\php.ini
请确保已更新这两个文件。
其次,不要忘记重新启动xAMP服务器,因为apache不会自动重新加载libapache2-mod-php5配置。
当您在MAMP中设置配置时,它只影响在Apache模块处理程序模式下加载的PHP(映射为Apache进程中的模块)。如果要设置PHP CLI,则需要将其与web服务器配置分开设置。
- 从Windows打开命令提示符("开始"按钮中的cmd.exe)
- 输入ECHO%PATH%
-
此命令将列出当前PATH变量和所有路径。例如,类似这样的东西:
C:>回波%PATH%
C: \Program Files(x86)\EasyHP-DevServer-14.1VC9\biles\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
-
然后尝试从PHP5.6.0版本的MAMP初始化配置文件:
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文件:(无)解析的其他.ini文件:(无)
您可以使用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-确保使用正确/批准的php时区编辑..MAMPPROconfphp[version].ini
和..MAMPbinphpphp[version]php.ini
。
所以,当我进行设置时,我遇到了同样的问题。
我看了一下我的phpinfo(),它给了我一个"加载的配置文件"的路径,该文件位于我的..MAMPPROconfphp[version].ini
中,所以我用批准的时区编辑该文件http://php.net/manual/en/timezones.php一定要避免http://php.net/manual/en/timezones.others.php.
在几次重启后都没有成功,我开始进一步挖掘MAMP Pro在哪里完成了这个ini。
我在..MAMPbinphpphp[version]php.ini
中找到了解决方案。如果我编辑了这个文件除了编辑MAMP Pro ini之外,一切都正常。
希望这能帮到你!
在您的web/app_dev.php和web/app.php开始时,您可以添加:
date_default_timezone_set('Europe/Paris');