PHP自定义超全局函数

时间:2012-02-14 18:28:34

标签: php mysql

有没有在php中创建自定义超全局函数?

我在共享服务器上。我想在MySQL中更改我的时区设置。

我在我的根文件夹中添加了SetEnv TZ America/Montreal到.htaccess,但它只对PHP有效,不会影响MySQL NOW()CURDATE()CURTIME()。 MySql仍然使用服务器的TimeZone。

现在我正在考虑创建一个超级全局PHP函数,例如:

function now() { return date("Y-m-d H:i:s"); }

无论如何,我的服务器中的每个PHP文件都可以访问这个函数而没有include()每个php文件吗?

我使用了许多脚本,如wordpress,phpbb,联盟脚本等,我不想将每个now()更改为date('Y-m-d H:i:s')。执行此操作效率不高,或者在每个第一个MySQL连接上使用set time-zone

2 个答案:

答案 0 :(得分:4)

PHP有一个'auto_prepend_file'选项,它基本上就像一个自动的“include()”,但如果你在共享主机上,这很可能不是一个选项 - 它适用于所有的PHP,这意味着每个人否则你与他人共享服务器也会得到你的代码。

所以基本上,归结为“停止懒惰,并在每个文件中写出include()”。

答案 1 :(得分:1)

我认为你走错了路。我会把日期存储在GMT中。然后在应用程序级别使用您喜欢的任何时区。为什么?如果您的公司搬到其他地方,或者您在不同的时区有两个办公室,该怎么办?您需要能够在一个地方控制它,这是在应用程序级别上。

查看https://code.sugarcrm.com/viewvc/public/trunk/sugarcrm/include/TimeDate.php?view=markup