2012-02-14 79 views
0

是否有无法在PHP中创建自定义超全局函数?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

+4

欢迎来到StackOverflow。请不要在你的问题中使用诸如{请帮助}或其他乞求类型的措辞。你的问题对你很重要,但这是一个同行支持网站;其他人也有他们认为对他们很重要的问题,这里的人们自愿提供免费帮助。如果你迫切需要帮助,你不能等待,你应该聘请一个能够给予你全力关注的人来解决问题。给这个问题添加噪音会让人们很难看到你实际询问的内容,并浪费那些将其删除而不是帮助答案的人的时间。 – 2012-02-14 18:34:36

+0

好吧,即使你将你的'now'功能包含到每个文件中,你都必须修改这些脚本才能使用它。而且wordpress使用它自己的时区设置(请参阅常规设置 - >您的wp-admin登录中的时区)。我确信phpbb使用类似的东西。 – vstm 2012-02-14 18:38:26

回答

4

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

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

+0

非常感谢。我在我的根.htaccess中添加“php_value auto_prepend_file'xxx.php'”,所以它只影响我的并不是每个人。 – 2012-02-14 20:05:44