PHP自定义超全局函数


PHP custom superglobal Functions

是否有在php中创建自定义超全局函数的方法?

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

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

现在我正在考虑创建一个superglobals PHP函数,例如:

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

有没有办法让我的服务器中的每个PHP文件都可以访问这个函数,而不需要在每个PHP文件上使用include()

我使用了很多脚本,比如wordpress、phpbb、联盟脚本等等,我不想把每个now()都改成date('Y-m-d H:i:s')。这样做效率不高,或者在每个第一个MySQL连接上都使用set time-zone

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

因此,基本上,它可以归结为"停止懒惰,在每个文件中写出include()"。

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

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