Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在OpenShift上更改PHP5.4应用程序的默认GMT时区?_Php_Timezone_Openshift - Fatal编程技术网

如何在OpenShift上更改PHP5.4应用程序的默认GMT时区?

如何在OpenShift上更改PHP5.4应用程序的默认GMT时区?,php,timezone,openshift,Php,Timezone,Openshift,我最近订阅了OpenShift并部署了一个新的PHP5.4应用程序,一切正常,但我似乎无法更改默认的GMT php时区 这里定义了GMT时区: >grep timezone~/php/configuration/etc/php.ini date.timezone=GMT 我可以编辑这个php.ini文件并将时区更新为我想要的值(America/Montreal),但一旦php盒带重新启动(只需在服务器上为ex执行git推送或发出“ctl_app restart”命令),就会有一个未知的过程将ph

我最近订阅了OpenShift并部署了一个新的PHP5.4应用程序,一切正常,但我似乎无法更改默认的GMT php时区

这里定义了GMT时区:

>grep timezone~/php/configuration/etc/php.ini

date.timezone=GMT

我可以编辑这个php.ini文件并将时区更新为我想要的值(America/Montreal),但一旦php盒带重新启动(只需在服务器上为ex执行git推送或发出“ctl_app restart”命令),就会有一个未知的过程将php.ini恢复为openshift工厂默认值,所以我放松了我的改变,时区回到了格林尼治标准时间

有什么想法吗

谢谢

您可以使用
ini\u set()
在运行时修改
php.ini
设置。修改仅对当前运行有效

ini_set('date.timezone', 'america/new_york');
ini_set('date.timezone', 'europe/london');
ini_set('date.timezone', 'america/sao_paulo');
... etc.
此设置将影响日期和时间函数的行为,如
date()


这里有一个问题。

我想从某个人@OpenShift那里知道,一直还原为默认值的php.ini文件(…但同时,它是可写的)是否是一个bug,以及是否有一种更持久的方法来更新它,而不必破解我的应用程序代码。不过,为了帮助别人,你的答案确实解决了我的问题,谢谢。我使用的是Yii框架(但可能是其他东西),并在我的root/main index.php文件中添加了ini_set()命令,每个请求都会调用该命令,该命令存储在redhat OpenShift上的~/php中。我也希望@OpenShift能够解释一下它们的可写php.ini文件,该文件在重新启动后会重置。似乎毫无意义。没有解释他们建议的编辑php.ini文件的方法。由于它是我们的应用程序,我们应该能够通过shell访问来更改配置。有什么问题吗?为什么没有文档?