Magento 2.0 使用PHP7 的试验

发布于2015-11-25

PHP7 性能大大提升,有消息说起性能可以媲美HHVM,Magento2 要想在HHVM下运行应该不是很容易,但是有 BitNami的 帮助,测试一下Magento2 在PHP7 下的表现还是很方便的。

PHP7还没有正式方便,在Bitname的网站还找不到PHP7 的stack, 在bing.com 里面搜索发现bitnami的博客里面有关于PHP7 stack 的下载信息, 点击这里:

竟然没有windows 版本的,只有Mac OS 和 Linuxx 版本,好在发现还有虚拟机可以用,马上下载一个PHP7 版本的 LAMP Stack 虚拟机映像,下载地址

更正,其实是有 Windows 版的 PHP7 stack 的,点击查看 可以看到 WAMP Stack 7.0.0RC7-0 Dev,下载这个可以自己在windows 机器中安装。

要注意,要下载PHP7.0 版本的, 就是 LAMP Stack 7.x.x 开头的 目前的版本是 LAMP Stack 7.0.0RC7-1 Dev (64-bit)

下载后解压缩到硬盘上,然后打开 VirtualBox, 点击控制-> 新建,按照图片选择1 和 2 两个选项:

 

然后选虚拟机所能使用的内存,越多越好,我了 9G。然后选择使用已有的虚拟硬盘文件,然后选择文件刚才下载解压的LAMP 虚拟机目录,选择 vmdk 后缀的文件,要选主文件,不要选 那些 -s001.vmdk, -s002.vmdk 等, 点击创建后, 在设置一下网卡为桥接模式,虚拟就就建好了。

启动虚拟机,用默认用户名/密码 (bitnami/bitnami) 登陆, 第一次登陆会要求修改密码,改密码后运行 ifconfig 命令可以看到路由器为去分配的IP地址,如果要用静态的IP,在路由器上找到虚拟机的Mac地址, 然后定义一静态IP。用VirtualBox的 终端不是很方便,现在我们要启用SSD,就可以用Putty 登陆了:

启用SSHD:

现在就可以用 putty 登陆虚拟机了。

现在用WinSCP 这个软件来把文件传到虚拟机,Magento2 的文件放在 /opt/bitnami/apache2/htdocs 下面, 当然我们也可以自己去github 下载Magento2 最新开发版本:

还有一点就是默认的 mysql 密码是 root/bitnami, 创建数据库, 然后按照这篇文章的方法安装。

我们随后安装了最新的开发版本带演示数据,但是在安装到 GroupProduct Sample 安装时(大概在安装进程93%的时候),似乎停在哪里了,10几分钟过去还是这样,于是我们决定在安装选择时把GroupProductSample 先禁止掉再安装, 要重装要下面几个步骤:

  1. 清空数据库。
  2. 删除 var下的 cache, generation, page_cache 和 view_preprocessed, 如果有 .flag 文件,也删掉。
  3. 删除app/etc/config.php 和 app/etc/env.php

在禁止掉GroupProduct 是演示数据后,安装顺利完成了。

速度上感觉的确要快很多,看来Magento2 原生就是支持PHP7的, 如果PHP7正式发布后,能否再对其进行优化那就完美了。

前几天看到最新的 wordpress 完全放弃了PHP,而完全用 HTML + CSS + Javascript 来实现,不再需要服务器端的PHP,在移动设备兴起的今天,这无疑是一种趋势,然而像 Magento 这种目标是企业级的复杂应用应该还是需要服务器端的语言,这样历史悠久的PHP语言的提速就显的尤为重要了,PHP7 并没有采用类似Facebook 的HHVM 这种JIT的方式,而同样在性能上进了一大步,让人惊喜。

用BitNami 现成的各种运行环境方便我们去测试Magento2 在各种情况下的表现,比如 Magneto2 本身就支持nginx 的, 你可以在 Magento2 的根目录下 找到 nginx 配置的实例文件 nginx.conf.sample, 我们可以去下载安装 BitNami 的 Nginx Stack 来测试。最后上张BitNami 丰富的stack 的图片,我们可以看到 HHVM Stack,Nginx Stack。