2013-05-11 64 views
2

我正在使用Mac OS X 10.6。我是一个PHP的完全新手。我正在浏览一个教程,并尝试在我的代码中运行date()函数,并且我收到一条消息,内容为“Warning:date()[function.date]:依靠系统的时区设置是不安全的。 ..“ 等等。对php.ini进行更改

我在线阅读,我必须对我的php.ini文件进行更改,特别是提及date.timezone的代码行,以便将其设置为您想要的区域。

我检查了我的phpinfo()文件,发现在目录/ private/etc中,我有一个php.ini.default文件。这是我需要的文件,尽管它的扩展名是“.default”。我试图对其进行更改,但是我被阻止这样做,得到一个警告,声明它是写保护的。

我将此文件复制到名为php.ini的新文件(使用终端命令cp php.ini.default php.ini)。尽管这个新文件仍然是写保护的。

出于好奇,我右键单击/ private目录并点击“获取信息”,我看到该文件夹​​是只读的。

那么我应该如何去调整以便date()函数起作用呢?我应该在另一个目录中创建一个php.ini文件吗?我应该在同一个目录中创建一个php.ini文件,然后从php.ini.default中物理复制并粘贴内容?我知道我的问题听起来很愚蠢,但我有点担心做出破坏性的,持久的变化。谢谢。

+0

这个问题关闭这里的主题 – hek2mgl 2013-05-11 12:38:08

+0

你需要解锁文件,以便编辑它。这是“获取信息”底部的小挂锁图标 - 但这个问题在这里是不重要的。 – Danack 2013-05-11 16:33:54

+0

它确实涉及日期函数,但它必须使用php.ini文件进行操作。所以最终目标是对php.ini文件进行更改,但我无法做到这一点。如果你仔细阅读我的文章,你会发现那是我的目标。它根本不是主题。 – 2013-05-11 16:57:43

回答

0
在你的PHP脚本

使用例如:

ini_set('date.timezone', 'America/Los_Angeles'); 

如果您需要在您的/private/etc/php.ini脚本全局更改date.timezone添加

[Date] 
; Defines the default timezone used by the date functions 
; http://php.net/date.timezone 
date.timezone = Europe/Belgrade 
+0

嗨pregmatch,您提供的本地命令在我的php脚本中完美工作。 (1)在/ private/etc目录中,有一个php.ini.default文件,但没有php.ini文件,(2)这个文件是写保护的。我应该在同一目录下创建一个名为php.ini的新文件,并将php.ini.default的内容复制到它?如果是这样,系统将如何识别新的php.ini文件?非常感谢你。 – 2013-05-11 12:48:24

+0

这样做:1)touch /private/etc/php.ini 2)cat /private/etc/php.ini.default> /private/etc/php.ini 3)open/private/etc/php。ini并找到该date.timezone部分并将其转换为您的时区。让我知道这是否适合你。 – pregmatch 2013-05-11 12:51:20

+0

当我试图做猫命令,它说“〜bash:php.ini:权限被拒绝” – 2013-05-11 15:12:56

3

OSX在下面是unix。 sudo mv php.ini.default php.ini从您的terminal.app应该工作。不要忘记开关cd到目录。

编辑:

为了澄清,不需要开关保护,以虚假的。因为它是一个很少更新的配置文件。 sudo vi php.ini应该让你重写。

+1

我原来是从terminal.app做了sudo cp php.ini.default php.ini,并遇到了上述问题。会做mv消除这个? – 2013-05-11 12:40:17

+1

@santhosh不,我没有完全回答,我建议使用'sudo'来覆盖权限问题。更新我的答案更清楚一点。 – palaniraja 2013-05-12 07:25:21