最近php7已经发布一段时间了,但是这么多新特性总需要大家学习一下才能在自己的项目中或者工作中利用起来。那么怎么搭建一个php7的学习平台呢?新浪云就是一个合适的地方。
由于本文的重点不是来介绍php7的新特性的,这里就推荐两个PHP官方的介绍链接:
前段时间新浪云上线了容器平台,作为常规runtime(支持php5.3版本、php5.6版本,Python2.7版本,Java1.7版本的补充),终于可以让开发者在容器中自由运行node.js、go等语言环境了。近期又支持了直接上传Dockerfile方式的部署。小伙伴们终于可以在容器中部署一个php7的应用了。
首先登陆SAE的管理面板(没有账号的就先用微博账号登录一下注册啦:))创建一个容器类的应用,如下图所示:
2.在SAE上部署
只需要下载这个http://opensource.changes.com.cn/php7a.zip,然后解压到本地。然后通过git提交到SAE的应用仓库里去就行。看一下其中我写好的Dockerfile:
FROM skiychan/nginx-php7:latest
COPY index.php /data/www/
COPY code/ /data/www/code/
COPY start.sh /
RUN chmod +x /start.sh
RUN sed -i 's/php-fpm$/php-fpm -F/g' /etc/supervisord.conf && sed -i 's/80;$/5050 default;/g' /usr/local/nginx/conf/nginx.conf
现在只需要把解压后的文件提交到git即可,怎么部署呢?参考下面的步骤吧,进到解压后的目录,点击右键,进入“git bash”【注:windows下没有安装的同学请下载安装git for windows,这里是官网https://git-for-windows.github.io/】
在你应用的git代码目录里,添加一个新的git远程仓库 SAE
$ git remote add sae https://git.sinacloud.com/APPNAME (这个是你创建的应用名)
$ git add .
$ git commit -am "make it better"
$ git push sae master:1
然后输入您的SAE安全邮箱和安全密码即可,如果忘记的从这里 http://www.sinacloud.com/ucenter/profile.html?from=sidebar 可以查看和修改密码。
后面就可以看到部署中的状态信息,看到最后的OK就完成了。
部署完成后从SAE的管理面板,进入应用首页,选择容器管理,应该可以看到如下的页面:
还可以通过web版本的终端进入您的docker容器哦:
这样部署后应该就可以访问了,比如我的应用是php7a,访问的地址是 http://php7a.applinzi.com/code/(一定要有这个/code/路径哦,因为我制作dockerfile的时候特意安装到这 个路径了。),把php7a替换为你的应用名即可。
上手练习
这个时候就可以登录这个了,访问 http://php7a.applinzi.com/code/ 可以看到:
默认的用户名和密码都是 admin ,登录后记得修改哦。
这个时候比如我想测试一下PHP7的新特性 <=> 符,可以创建一个文件,在线输入代码:
<?php
$a = 1;
$b = 2;
$c = $a <=> $b;
var_dump($c);
如图所示:
现在就可以通过 http://php7a.applinzi.com/php7.php 访问啦。
注意事项
由于这些在线新建的应用没有提交到git的管理中,因此如果你重启了应用这些文件将会丢失,如果不想丢弃这些文件,你可以通过新建一个共享存储把共享存储映射到/data/www/test 这个目录下,然后在test目录下在线写php 的代码即可,这样重启后就不会丢失文件。
欢迎小伙伴们留言一起探讨在新浪云容器中学习世界上最好的语言。阅读原文可以下载代码哦~