您好我正在尝试创建自己的自定义帮助程序类以与Yii2一起使用.它将处理时间,所以我将使用PHP的DateTime类.我有
<?php
namespace yii\helpers;
use Yii;
class Time
{
public static function getTime()
{
$time = new DateTime('now', new DateTimeZone('UTC'));
return $time->format('m-d-Y H:i:s');
}
}
Run Code Online (Sandbox Code Playgroud)
为了测试它我添加
use yii\helpers\Time;
到一个视图文件并调用,Time::getTime();但Yii2抛出一个ErrorException,说没有找到类'yii\helpers\DateTime'.
如果我将代码直接放入视图文件并执行它,那么php DateTime对象可以正常工作,所以我不确定我的问题是什么.
我试图从实例内部访问我的ec2的公共主机名.
我想运行这个命令
curl http:// 169 254.169.254/latest/meta-data/public-hostname
Run Code Online (Sandbox Code Playgroud)
在php脚本中并将响应保存到变量中.我怎样才能做到这一点?
我有一些看起来像这样的代码行...
exec($this->path.' start > /dev/null 2>&1 &');
return ['status' => 'Command executed'];
Run Code Online (Sandbox Code Playgroud)
$this->path是一个Shell脚本,start是该Shell脚本的一个参数,我相信该行的其余部分应该转储任何响应,以便php脚本可以继续运行。它无法正常运行,php成功启动了shell脚本(将启动游戏服务器),但是php一直挂起,直到我使用shell关闭服务器为止。当我使用外壳关闭服务器时,它完成了执行,并且收到了“命令已执行”响应。我还禁用了SELinux的执行,以确保它不会造成干扰。
运行Linux-Fedora 21和内置的PHP开发服务器。
我想知道存储PHP '支持的时区'的最佳实践是什么.我正在存储每个用户的时区,因此我可以转换到UTC或从当地时间转换.您会将它作为字符串存储在varchar类型字段中吗?在这种情况下,支持的最长时区字符串是什么?存储这些是否有更好的做法?简单地存储时区偏移量不是一个选项,因为它没有像PHP的datetime对象那样自动考虑DST.