hiphop-php 搭建 (CentOS)
前提:只支持64位系统
升级GCC:
安装CMake:
https://github.com/jackywei/HOW-TO-BUILD-HHVM-WiKi/wiki/Build-&-Install-CMake-2.8.10.2-in-CentOS6.3
升级boost:
备注:当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)的更多相关文章
- 虚拟机搭建CentOS主机win10通过xshell连接
目标:主机是win10系统,虚拟机搭建CentOS,在主机上通过XShell连接操作. 第一步 主机上安装虚拟机 第二步 下载CentOS 下载地址http://101.110.118.69/isor ...
- 环境搭建-CentOS集群搭建
环境搭建-CentOS集群搭建 写在前面 最近有许多小伙伴问我,大数据的hadoop分布式集群该如何去搭建.所以,想着,就写一篇博客,帮助到更多刚入门大数据的人.本博客会一步一步带你实现一个Hadoo ...
- Hadoop环境搭建(centos)
Hadoop环境搭建(centos) 本平台密码83953588abc 配置Java环境 下载JDK(本实验从/cgsrc 文件中复制到指定目录) mkdir /usr/local/java cp / ...
- hadoop集群搭建--CentOS部署Hadoop服务
在了解了Hadoop的相关知识后,接下来就是Hadoop环境的搭建,搭建Hadoop环境是正式学习大数据的开始,接下来就开始搭建环境!我们用到环境为:VMware 12+CentOS6.4 hadoo ...
- 使用tomcat搭建centos的yum源
最近在折腾大数据,需要搭建一个yum源.一般的做法是在CentOS中安装httpd,然后将rpm包放入/var/www/html下面,再执行[createrepo .]即可. 不过虚拟机对传文件终归是 ...
- 搭建CentOS 7本地源仓库
CentOS 7离线包及其依赖 推荐使用yumdownloader --resolve --destdir=path python-pip,--resolve下载所有依赖,--destdir指定软件包 ...
- 本地局域网yum源搭建-centos/redhat
环境-centos6.7 [本机yum搭建提前备好,不做介绍] [root@nagios ~]# cat /etc/redhat-release CentOS release 6.7 (Final) ...
- DELPHI搭建centos开发环境
DELPHI搭建centos7开发环境 关闭防火墙 搭建开发环境,还是直接关闭LINUX防火墙,省事. 否则,使用到的网络端口号,都要在防火墙开放,麻烦. systemctl disable fire ...
- 局域网内搭建CentOS PHP 环境
首先我们找到一台已经搭建好的CentOS,IP地址我就不说啦. 我们需要用到的几个工具,一个是SecureCRT用于远程连接,还有一个用于文件上传和下载就是filezilla 准备好了之后,我们就可以 ...
- Java开发环境搭建——CentOS配置
普通用户添加到sudoers u切换到root visudo进入编辑,找到root ALL=(ALL) ALL,在后面加上myusername ALL=(ALL) ALL 配置网络sudo ...
随机推荐
- Hadoop分布式部署——要点
这里只记录几个要点,比较容易出问题的地方. 1.各服务器必须有相同的用户(便于使用相同的用户ssh登录)2.ssh互通,配置无密码登录ssh-keygen -t rsa,将id_rsa.pub的内容相 ...
- 8.Methods(一)
1.Instance Constructors and Classes (Reference Types) Constructors methods : 1.allow an instance of ...
- FineReport: 参数为空选出全部值(按条件查询,空条件时直接过滤,不进行查询。。)
在Java报表软件FineReport中,选择特定的参数(如下图中的姓名.身份证号等)后,会返回我们要查询的数据,然而假如没有输入参数值,我们却仍需要返回数据时该怎样处理呢?应该过滤掉这个条件,不按这 ...
- 随机内容生成(random模块)
摘抄于: 低调的python小子 当梦想照进现实 幸福近在咫尺 [jpg]http://ip.ipwind.cn/msn.png[/jpg] Python中的random模块用于生成随机数.下面介绍 ...
- Android简单登陆页面
布局: 线性布局+相对布局 日志打印: 利用LogCat和System.out.println打印观察. Onclick事件是采用过的第四种: 在配置文件中给Button添加点击时间 涉及知识: 通过 ...
- sqlcmd 登录和执行语句。
sqlcmd -U sa -P atc@2014 -S HK-DB01 -d msdb -Q "exec sp_start_job @job_name='3PL_OUT_TEST'" ...
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
javaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- android电池管理系统从上层的java到底层驱动的调用(转载)
1.概述 随着移动智能设备的快速发屏,电池的续航能力在很大情况下诱导了大众消费者的购买选择,android系统对电源管理的合理与否直接影响到电池的续航能力,而电池系统作为其中的一部分,主要用于对电池状 ...
- Python学习笔记1—模块
模块的使用 引用模块的两种形式 形式一: import module_name 形式二: from module1 import module11 (module11是module的子模块) 例: ...
- 搭建LNMP环境
下载软件包 百度云地址下载地址:http://pan.baidu.com/s/1eSfWNoY 一共有17个包 [root@localhost lnmp]# ls /usr/local/src/lnm ...