前提:只支持64位系统

升级GCC:

https://github.com/jackywei/HOW-TO-BUILD-HHVM-WiKi/wiki/Build-&-Install-GCC4.6.3-in-CentOS-%285.2-&-6.3%29

安装CMake:

https://github.com/jackywei/HOW-TO-BUILD-HHVM-WiKi/wiki/Build-&-Install-CMake-2.8.10.2-in-CentOS6.3

升级boost:

https://github.com/jackywei/HOW-TO-BUILD-HHVM-WiKi/wiki/Build-&-install-Boost-1.50-in-CentOS-%28CentOS5.2-&-6.3-are-both-verified%29

备注:当boost上面方法不通,请用下面这个

./bootstrap.sh

./b2 install

之后参考:

https://github.com/facebook/hiphop-php/wiki/Building-and-installing-HHVM-on-CentOS-6.3

Building HipHop make 之后还需要

make install

完成之后运行hhvm 为执行单个PHP文件

可以启动WEB服务

配置参考:

    #日志配置
Log {
#日志等级
Level = None (default) | Error | Warning | Info | Verbose
# 使用@抑制错误是否后台日志启用错误记录
NoSilencer = false
#容许用户自己处理错误
AlwaysLogUnhandledExceptions = true
#PHP的错误等级
RuntimeErrorReportingLevel = 8191
#下面3个指定错误的格式及消息头(C++错误16进制,是否转换等)
Header = false
InjectedStackTrace = true
NativeStackTrace = true
#最大日志数量
MaxMessagesPerRequest = -1 #是否启用日志
UseLogFile = true
#日志文件
File = /usr/local/hiphop/log/server.log # 访问日志格式
AccessLogDefaultFormat = %h %l %u %t \"%r\" %>s %b
#日志格式
#Access {
# * {
# File = filename
# Format = some Apache access log format string
# }
#} # 管理后台日志
#AdminLog {
# File = filename
# Format = %h %t %s %U
#} # 是否启用 hphp_log() 来得到PHP代码的信息
ApplicationLog = true # 将错误分组,可以保存至数据库
# Log aggregator logs one line per several errors, grouped by error's
# stacktraces. It can also save errors to a specified database.
#Aggregator = false
#Aggregator {
# File = filename
# Database = [username[:password]@]server[:port][/database]
# SleepSeconds = 10 # polling cycle for aggregation
#} }
#错误处理
ErrorHandling {
CallUserHandlerOnFatals = true
NoInfiniteLoopDetection = false
NoInfiniteRecursionDetection = false
MaxStackDepth = 1000
ThrowBadTypeExceptions = false
ThrowNotices = false
NoticeFrequency = 1 # 1 out of these many notices to log
WarningFrequency = 1 # 1 out of these many warnings to log
AssertActive = false
AssertWarning = false
}
#资源限制
ResourceLimit {
CoreFileSize = 0 # in bytes
MaxSocket = 0
SocketDefaultTimeout = 5 # in seconds
MaxRSS = 0
MaxRSSPollingCycle = 0 # in seconds, how often to check max memory
DropCacheCycle = 0 # in seconds, how often to drop disk cache
} PidFile = /usr/local/hiphop/etc/server.pid # 进程PID文件 # $_SERVER['name'] = value
# 服务器变量
ServerVariables {
name = value
}
# 环境变量
# $_ENV['name'] = value
EnvVariables {
name = value
} # 服务器配置
Server {
#域名IP端口
Host = www.domain.com
IP = 0.0.0.0
Port = 80
#处理的线程数量
ThreadCount = 50
#代码根目录
SourceRoot = /var/www/www.domain.com/public_html
#共享代码目录,如加zf等框架引入等
#IncludeSearchPaths {
# * = some path
# * = another path
#}
#请求超时
RequestTimeoutSeconds = -1
#请求处理内存限制
RequestMemoryMaxBytes = -1 # 代码预加载,关闭
# Recommend to turn this on to avoid memory leaks and to enable warmup
# document features.
EnableMemoryManager = false # 显示内存问题,均在调试时候开启
# Only for debugging memory problems. When turned on, server will report
# SmartAllocator's usage for each thread to stdout.
CheckMemory = false # 多子域名
# If ServerName is not specified for a virtual host, use prefix + this
# suffix to compose one
#DefaultServerNameSuffix = default_domain.com
# Forcing $_SERVER['SERVER_NAME'] to come from request header
#ForceServerNameToHeader = false # 启动选项
# startup options
# TakeoverFilename = filename # for port takeover between server instances
# 默认文件
DefaultDocument = index.php
# 启动文件
#StartupDocument = filename
#WarmupDocument = filename
# 程序启动调用一个函数
#RequestInitFunction = function_name
#ThreadDocuments {
# * = somedoc.php
# * = another.php
#}
# 文件未找到处理文件
ErrorDocument404 = 404.php
#致命错误消息
FatalErrorMessage = some string #关闭选项
# shutdown options
GracefulShutdownWait = 0 # in seconds
HarshShutdown = true
EvilShutdown = true
DanglingWait = 0
}
AdminServer {
Port = 8088
ThreadCount = 1
Password = 123456
}
#静态内容
StaticFile {
Extensions {
bmp = image/bmp
}
Generators {
* = static_resource.php
}
}

出错:

unable to find/load systemlib.php

rm -rf /usr/local/bin/hhvm
#/usr/local/hiphop 为你的源码编译目录
ln -s /usr/local/hiphop/hphp/hhvm/hhvm /usr/local/bin/hhvm

如果接着报库文件找不到,请建立链接到/usr/local/lib目录即可

hhvm 中,部分php 函数不可用 ,如eval phpinfo等

配合nginx 使用

hiphop 配置

RewriteRules {
       * {
          pattern = ^.*$
          to = index.php
          qsa = yes
        }

}

nginx 配置

root /var/www/;location / {
        autoindex on;
        index  index.html index.htm index.php;
        try_files $uri $uri/ /index.php;
    }
location ~ \.php$ {
        proxy_pass http://127.0.0.1:9000$request_uri;
}

hiphop-php 搭建 (CentOS)的更多相关文章

  1. 虚拟机搭建CentOS主机win10通过xshell连接

    目标:主机是win10系统,虚拟机搭建CentOS,在主机上通过XShell连接操作. 第一步 主机上安装虚拟机 第二步 下载CentOS 下载地址http://101.110.118.69/isor ...

  2. 环境搭建-CentOS集群搭建

    环境搭建-CentOS集群搭建 写在前面 最近有许多小伙伴问我,大数据的hadoop分布式集群该如何去搭建.所以,想着,就写一篇博客,帮助到更多刚入门大数据的人.本博客会一步一步带你实现一个Hadoo ...

  3. Hadoop环境搭建(centos)

    Hadoop环境搭建(centos) 本平台密码83953588abc 配置Java环境 下载JDK(本实验从/cgsrc 文件中复制到指定目录) mkdir /usr/local/java cp / ...

  4. hadoop集群搭建--CentOS部署Hadoop服务

    在了解了Hadoop的相关知识后,接下来就是Hadoop环境的搭建,搭建Hadoop环境是正式学习大数据的开始,接下来就开始搭建环境!我们用到环境为:VMware 12+CentOS6.4 hadoo ...

  5. 使用tomcat搭建centos的yum源

    最近在折腾大数据,需要搭建一个yum源.一般的做法是在CentOS中安装httpd,然后将rpm包放入/var/www/html下面,再执行[createrepo .]即可. 不过虚拟机对传文件终归是 ...

  6. 搭建CentOS 7本地源仓库

    CentOS 7离线包及其依赖 推荐使用yumdownloader --resolve --destdir=path python-pip,--resolve下载所有依赖,--destdir指定软件包 ...

  7. 本地局域网yum源搭建-centos/redhat

    环境-centos6.7  [本机yum搭建提前备好,不做介绍] [root@nagios ~]# cat /etc/redhat-release CentOS release 6.7 (Final) ...

  8. DELPHI搭建centos开发环境

    DELPHI搭建centos7开发环境 关闭防火墙 搭建开发环境,还是直接关闭LINUX防火墙,省事. 否则,使用到的网络端口号,都要在防火墙开放,麻烦. systemctl disable fire ...

  9. 局域网内搭建CentOS PHP 环境

    首先我们找到一台已经搭建好的CentOS,IP地址我就不说啦. 我们需要用到的几个工具,一个是SecureCRT用于远程连接,还有一个用于文件上传和下载就是filezilla 准备好了之后,我们就可以 ...

  10. Java开发环境搭建——CentOS配置

    普通用户添加到sudoers u切换到root visudo进入编辑,找到root  ALL=(ALL)    ALL,在后面加上myusername ALL=(ALL)  ALL 配置网络sudo ...

随机推荐

  1. SQL 汉字转换成拼音首字母 首字母查

    -- ============================================= -- 功能:汉字转换成拼音首字母 首字母查 -- ========================== ...

  2. PCL点云库:对点云进行变换(Using a matrix to transform a point cloud)

    点云数据可以用ASCII码的形式存储在PCD文件中(关于该格式的描述可以参考链接:The PCD (Point Cloud Data) file format).为了生成三维点云数据,在excel中用 ...

  3. 06_在web项目中集成Spring

    在web项目中集成Spring 一.使用Servlet进行集成测试 1.直接在Servlet 加载Spring 配置文件 ApplicationContext applicationContext = ...

  4. SQL语句最基本的性能优化方法

    有些人还不知道sql语句的基本性能优化方法,在此我简单提醒一下,最基本的优化方法:   1.检查是否缺少索引.调试的时候开启“包括实际的执行计划”   执行后会显示缺少的索引,   然后让dba帮助添 ...

  5. NSKeyedArchive(存储自定义对象)

    在viewController.m中: - (void)viewDidLoad { [super viewDidLoad]; ZWPerson *p = [[ZWPerson alloc] init] ...

  6. CI实践_Android持续集成

    之前已经实现了Android的持续集成,并在项目中应用了一段时间.恰逢现在有几分钟时间,把之前的一些零散的点滴记录和整理一下,供有需要的朋友参考,或后续复用. 需要的准备知识:gitlab.Jenki ...

  7. 小型网站如何防范DDoS攻击

    ddos(Distributed Denial of Service,分布式拒绝服务攻击),俗称洪水攻击.是在传统的DoS攻击基础之上产生的新的破坏力更强的攻击方式.分布式拒绝服务攻击是指借助于客户/ ...

  8. shift移动变量

    1.移动变量 脚本 sh05.sh #!/bin/bash # Program # Program shows the effect of shift function # History: # // ...

  9. 表单美化-原生javascript和jQuery多选按钮(兼容IE6)

    前些天我们讲了下单选按钮的美化今天来做表单元素多选按钮的美化.我们的想法是:利用多选按钮是否被选中和是否不给选择的特性来为按钮的父元素添加对应的样式,就是说用什么的样式是由按钮的状态来决定. 用到的图 ...

  10. lab_c!

    #include<stdio.h> hi() { printf("hello world!\n"); } int main() { hi(); int i = hi() ...