有没有在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
。
答案 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