我有一个无法更改TZ设置的服务器,以及一个包含build.xml
任务的Phing Tstamp
,它会触发PHP时区警告:
[PHP错误] strftime():依赖系统的时区设置是不安全的。您必需使用date.timezone设置或date_default_timezone_set()函数。如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符。我们现在选择了时区'UTC',但请设置date.timezone以选择您的时区。 [phar:///.../classes/phing/tasks/system/TstampTask.php第159行]
我想抑制此错误,但由于我不允许更改php.ini
我想以另一种方式执行此操作。琐碎的方法是在运行Phing时为php
提供新的设置:
php -d date.timezone=Europe/London phing.phar dbsetup
但是,我想在不指定ini设置的情况下这样做。我最初认为我可以将PHP脚本作为另一个<target>
运行,但这可能只是私下设置该脚本的设置,并且不会影响Phing核心的设置。
另一种方法是扩展Tstamp
任务并在Phing配置中更改此类,但目前我从默认的Phar构建运行,所以理想情况下也是如此!
我在Git上搜索了date_default_timezone_set()
的Phing代码库,但它似乎不是时区感知的。
是否可能只有使用指定参数调用ini_set()
的Phing任务?或者是否有更好的方法来实现我想做的事情,而不是要求改变Phing核心?
答案 0 :(得分:2)
这里有什么https://www.phing.info/docs/guide/trunk/PhpEvalTask.html?像
<php expression="date_default_timezone_set('Europe/London');" />