hhvm

hh_client reports errors on package

时光怂恿深爱的人放手 提交于 2021-01-27 07:46:10
问题 I am following the instruction in Getting started on official Hacklang website. As it says, I run: $ touch .hhconfig $ mkdir bin src tests $ cat > hh_autoload.json { "roots": [ "src/" ], "devRoots": [ "tests/" ], "devFailureHandler": "Facebook\\AutoloadMap\\HHClientFallbackHandler" } $ composer require hhvm/hsl hhvm/hhvm-autoload Then I run hh_client , which throws 74 errors like those: Typing[4110] You cannot use HH_FIXME or HH_IGNORE_ERROR comments to suppress error 4110 --> vendor/autoload

linux虚拟化简介

不问归期 提交于 2021-01-20 00:02:27
为跨平台而生   在计算机发展的早期,各类计算平台、计算设备所提供的接口、调用方式纷繁复杂,没有像今天这样相对统一的标准。由于需要适配不同的平台,需要写很多繁琐的兼容代码,这无形中给开发者带来了很大的不便。甚至,这种混乱出现在 IBM 这一家公司下不同机型的机器上,所以 IBM 的工程师们创造了虚拟化技术,用来帮助程序快速适配不同平台的物理机器。   我们知道程序对计算机资源的调用主要依赖于操作系统所给出的接口。我们的程序通过操作系统提供的接口,向物理硬件发送指令。   所以,要实现程序跨平台兼容的方法其实很简单,只要操作系统或者物理硬件所提供的接口调用方式一致,程序便不需要兼容不同硬件平台的接口,而只需要针对这一套统一的接口开发即可。虚拟化技术正是通过其本身适配不同平台的硬件,而加以抽象成统一的接口,来实现程序跨平台运行这一目的的。   时至今日,我们之所以关注和使用虚拟化技术,实现跨平台运行应用程序依然是很大一部分的原因。 虚拟化的定义   虚拟化技术是一种将计算机物理资源进行抽象、转换为虚拟的计算机资源提供给程序使用的技术。这里所指的计算机资源,就包括了 CPU 提供的运算控制资源,硬盘提供的数据存储资源,网卡提供的网络传输资源等。 将虚拟化用于资源管理    在虚拟化技术的发展过程中,人们逐渐发现了虚拟化的另一大用途,也就是将之应用于计算机资源的管理。  

PHP 霸主地位被动摇,JIT 是穷途末路后的绝地反击?

会有一股神秘感。 提交于 2020-12-05 00:47:36
原文出自 https://my.oschina.net/editorial-story/blog/1604717 TIOBE 2017 年度编程语言榜单已 出炉 ,世界上最好的语言 PHP 再度无缘年度编程语言。 距离其上次(2004 年)获得年度编程语言,已有 13 年之久。而从历年 TIOBE 编程排行榜趋势图也可以看到,自 2014 年以来,PHP 总体处于持续下滑趋势。 作为世界上最好的语言,PHP 的霸主地位会被撼动吗? 据 W3Techs.com 的数据显示,近年来,有超过 80% 的网站在服务器端的编程语言选择了 PHP,一门语言流行的背后必会有其原因,PHP 一开始凭借其简单上手而流行起来,而持续流行了这么多年,我们相信不仅仅是由于它的易于使用,作为一门服务器端的语言,如果性能没有足够好,很难一直被流行至今。 下面,我们不妨回顾下 PHP 的性能是如何演进的。 PHP 的性能演进历史 PHP 是 Web 开发最常用的语言,自 1994 年 Rasmus Lerdorf 创建 PHP 以来,PHP 语言经历了许多激烈的改进,其中性能是开发人员在评估新版本时考虑的主要标准之一。每个大版本的更新都会带来很多新特性和性能提升。 有关 PHP 性能改进的主要版本历史: 1994:Rasmus Lerdorf 为了维护个人网页而制作了一个简单的用 Perl 语言编写的程序,称为

写在PHP8发布之前的话

依然范特西╮ 提交于 2020-08-12 08:12:08
PHP8 就要发布了,大版本号更新,PHP 8的JIT是最大的新特性。大家可能很多人不知道,其实PHP8的JIT是先于PHP7开始开发的。 那还是在2013年的时候,我还在微博负责微博主站架构,记得是某个中午正在跟微博的同事开会,Zeev突然在Skype上找我,问我有没有兴趣做Zend的兼职顾问,参与一个很有趣的项目。 (Zend顾问合同) 于是整个2013年下半年,我都跟着Dmitry在为PHP5.5开发基于LLVM的JIT编译器,在那个过程中,Dmitry教了我很多的东西,我非常感谢他。 很多后来的PHP开发者可能不知道,在那几年,PHP的社区面临着一个很大的分裂风险,也就是Facebook的HHVM,当时HHVM在性能上有很明显的优势,除了Facebook以外,不少组织和公司,比如Wikimedia,国内的百度, 为了性能也开始尝试迁移PHP到HHVM。 整个PHP社区面临着分裂的风险。而性能,是这一切的原因。 所以,当时PHP5.5的JIT就是为了解决这个严重的风险而开启的,当然后来的故事大家也都知道了,基于LLVM的JIT在Benchmark上有着很明显的提升,但在实际的项目中看不到明显的性能提升,最大的问题现在来看还是在于PHP本身的数据结构基础。 虽然那个版本的JIT失败了,但是在开发过程中我们发现了很多PHP本身可以优化的点

写在PHP8发布之前的话

不打扰是莪最后的温柔 提交于 2020-08-12 06:27:40
PHP8 Alpha马上就要发布了,大版本号更新,PHP 8的JIT是最大的新特性。大家可能很多人不知道,其实PHP8的JIT是先于PHP7开始开发的。 那还是在2013年的时候,我还在微博负责微博主站架构,记得是某个中午正在跟微博的同事开会,Zeev突然在Skype上找我,问我有没有兴趣做Zend的兼职顾问,参与一个很有趣的项目。 (Zend顾问合同) 于是整个2013年下半年,我都跟着Dmitry在为PHP5.5开发基于LLVM的JIT编译器,在那个过程中,Dmitry教了我很多的东西,我非常感谢他。 很多后来的PHP开发者可能不知道,在那几年,PHP的社区面临着一个很大的分裂风险,也就是Facebook的HHVM,当时HHVM在性能上有很明显的优势,除了Facebook以外,不少组织和公司,比如Wikimedia,国内的百度, 为了性能也开始尝试迁移PHP到HHVM。 整个PHP社区面临着分裂的风险。而性能,是这一切的原因。 所以,当时PHP5.5的JIT就是为了解决这个严重的风险而开启的,当然后来的故事大家也都知道了,基于LLVM的JIT在Benchmark上有着很明显的提升,但在实际的项目中看不到明显的性能提升,最大的问题现在来看还是在于PHP本身的数据结构基础。 虽然那个版本的JIT失败了,但是在开发过程中我们发现了很多PHP本身可以优化的点

为什么我们还会继续使用 PHP ?

假装没事ソ 提交于 2020-04-23 11:09:28
我们来开门见山地说。 PHP 是一门奇葩的语言。它既不快,语法又不漂亮。还没有遵守良好的软件开发实践。 但我还是使用它开发了很多软件。 那么问题就很明显了 为什么今天还在使用 PHP ? 除了个人理想主义的偏好以外,还有很多理由。这才是我们要讨论的范围。为什么选 PHP 作为我的 Web 开发语言? PHP 是什么? 「PHP 代表什么意思?」 或者这么问,「PHP 是什么?」 PHP 是一门编写 web 页面的语言,底层使用 C 语言实现,使用 HTML 的标签语法包裹代码。PHP 通常跑在服务端,与 web 服务器配合工作,负责把 HTML 加工完返回给访问者。 PHP 最初的意思是 「 Personal Home Page 」。因为这完全限制了使用该语言进行一般使用的意义和可取性,所以该语言现在代表「 PHP:Hypertext Preprocessor」。这种写法被称为递归缩写(一种全称中引用自己的缩写)。 极客们都喜欢用这种名字。 PHP 能做什么? PHP 能用来做什么?通常来说 PHP 能做任何你想在 web 服务器上实现的东西。 比如说做一个博客。实现一个 SAAS 应用也完全不在话下。写一个临时处理数据的脚本也是得心应手。又或者写了一个复杂的脚本,某一天突然变成了一门成功的软件业务?过去也经常发生。 如果你不相信我,可以看下 PHP 官网列出使用场景: 服务端脚本

Is it possible to store HHVM bytecode as a file?

可紊 提交于 2020-01-14 10:37:08
问题 Is there a way to save HHVM bytecode as a file, since HHVM uses JIT bytecode compilation instead of compiling? If not, are there any alternatives for modern PHP versions (5.5,5.6)? 回答1: You can generate bytecode, which is saved in internal SQLite database and then switch on Repo.Authoritative mode, under which HHVM will only use bytecode from SQLite db and never touch source .php files. See http://hhvm.com/blog/4061/go-faster 来源: https://stackoverflow.com/questions/25815519/is-it-possible-to

How to handle HHVM crash or when it becomes unresponsive?

删除回忆录丶 提交于 2020-01-14 06:25:29
问题 Current state is like this: Nginx -> HHVM -> PHP5-FPM. When HHVM crashes (quite often) it returns 502 error. I did @fallback workaround to nginx configuration, but I need to manually restart hhvm. here Automatically restarting HHVM when it stops responding but process not dead some PID listener cron is described, but sometimes hhvm just unresponsive with existing pid. How to monitor this? 回答1: I have the exact same problem - HHVM becomes unresponsive randomly (I haven't figured out why yet)

Installing composer using vagrant, hhvm, and Ubuntu 14.04

喜欢而已 提交于 2020-01-13 10:39:07
问题 At the end of my vagrant provisioning script I attempt to install composer using the following : sudo curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer However when this is executed I get the following errors : SlowTimer [5612ms] at curl: https://getcomposer.org/composer.phar Download failed: Failed to open https://getcomposer.org/composer.phar (Resolving timed out after 5613 milliseconds) The download failed repeatedly, aborting. If I have php