一个神奇的PHP框架:Phalcon 之编译安装

前言

CentOS7下升级PHP到最新版本以及编译安装phalcon框架,看相关文档无数遍,自己尝试编译安装之后才理解的更深,编译步骤以及碰到的问题做个简单的记录

php-7.0.11编译安装

1.下载php-7.0.11源码

http://php.net/downloads.php#v7.0.11

2.依赖开发包

yum install gcc gcc-c++ libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl curl-devel openssl openssl-devel

3.编译安装

$YOUR_PHP_SRC_DIR/configure --prefix=/usr/local/php-7.0.11 --with-config-file-path=/usr/local/php-7.0.11/etc --enable-fpm --with-pdo-mysql=mysqlnd --enable-mysqlnd --with-mysqli=mysqlnd --with-openssl --with-mcrypt --with-gd --with-freetype-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --enable-exif --enable-mbstring --enable-pcntl --with-curl --enable-sockets --enable-soap --enable-ftp --with-zlib --enable-zip --with-bz2

phalcon编译安装

1.下载最新phalcon源码

git clone git://github.com/phalcon/cphalcon.git

2.编译安装

cd cphalcon/build
./install

3.加上配置(php.ini)

extension=phalcon.so

4.重启php-fpm

service php-fpm restart

问题

1.GCC编译器报错(内存不够用)

cc: internal compiler error: Killed (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make: *** [phalcon.lo] Error 1

后记

1.使用phalcon文档里高级编译方法,编译之后的文件会很大,将近20几兆
2.使用phalcon文档里通用编译方法,编译之后文件只有5M左右
3.使用通用编译方法,命令自动搜索路径需要显示指定需要编译PHP版本php-config,phpize这2个命令的路径
4.cphalcon/build/install安装脚本会自动根据系统环境以及安装的PHP版本编译
5.编译的时间比较长>_<
6.编译时需要足够可用的内存>=2G
7.编译php时,官方建议使用mysqlnd驱动

参考资料

【1】phalcon仓库
https://github.com/phalcon/cphalcon
【2】gcc: Internal error: Killed (program cc1) while compiling PHP
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48796

时间: 2024-12-14 21:47:32

一个神奇的PHP框架:Phalcon 之编译安装的相关文章

一个神奇的PHP框架:Phalcon 之初识

前言 公司的APP响应速度比较慢,公司大神决定使用C语言编写的PHP框架Phalcon 代替原来的框架,响应速度有比较大的提升.以前只是听说过,没有深入的了解过.即然工作中有用到,便花点时间了解了下,你啥都不懂,会被别人鄙视,需要不断的充电补齐自己的短板啊! 第一感受 花了些时间看了phalcon 框架的文档,对这个框架有了整体的一些认识,说下我的一些感受. 1 主体代码C语言编写,执行效率肯定比其它纯PHP编写的框架要高:2 框架功能大而全,全栈式框架,WEB开发相关的组件都有,组件之间低耦合

深度学习框架Caffe的编译安装

深度学习框架caffe特点,富有表达性.快速.模块化.下面介绍caffe如何在Ubuntu上编译安装. 1. 前提条件 安装依赖的软件包: CUDA 用来使用GPU模式计算. 建议使用 7.0 以上最新的版本 BLAS via ATLAS, MKL, or OpenBLAS. Boost >= 1.55 protobuf, glog, gflags, hdf5 可选依赖软件包: OpenCV >= 2.4 including 3.0 IO libraries: lmdb, leveldb (n

Linux 从源码编译安装 Nginx

Nginx 是一个高性能的 HTTP 和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器.Nginx 编译安装比较简单,难点在于配置.下面是 Nignx 0.8.54 编译安装和简单配置笔记. 一.准备工作 1.1.安装 OpenSSL OpenSSL 版本:openssl-1.0.0c (安装方法) 1.2.准备 pcre 库 pere 是为了让 nginx 支持正则表达式.只是准备,并不安装,是为了避免在64位系统中出现错误. 1.wget ftp://ftp.csx.c

linux源码编译安装OpenCV

为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上.先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以类比安装.此文针对,有一点Linux常识(会使用终端)的读者. 源代码准备 如果不想在安装过程中,一步步的下载.编译.安装,可以先一次性下载完需要用到的源代码. X264: ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ FFMPEG: htt

centos7上编译安装php7,以php-fpm方式连接apache

好几个月之间其实已经配置过LAMP LNMP等等一些配置,以前配置都是按照晚上抄的,基本都能配置出来,现重头学想自己配置下,但是发现好多配置都忘了 ,中间踩了几个坑,记录下,也更彻底的学习下..... ./configure --prefix=/usr/local/php7 --enable-fpm 以fpm模式安装,这个还可以改成 --with-apxs2=PATH模式,两者只能取其一--enable-so --with-config-file-path=/etc 只能配置文件位置--with

来,咱们自己写一个Android的IOC框架!

到目前位置,afinal开发框架也是用了好几个月了,还记得第一次使用注释完成控件的初始化和事件绑定的时候,当时的心情是多么的兴奋- -代码竟然可以这样写!然后随着不断的学习,也慢慢的对IOC框架和注解反射等东西有了一点简单的了解,之前的一篇文章简单的介绍了一下Java的反射机制,今天的文章,就完成一个简单的,基于IOC的小Demo,让大家慢慢的对IOC有一点简单的了解. 首先,什么是IOC呢? 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来

Voovan 是一个高性能异步网络框架和 HTTP(Java)

Voovan 是一个高性能异步网络框架和 HTTP 服务器框架,同时支持 HTTP 客户端抓取.动态编译支持.数据库访问封装以及 DateTime.String.Log.反射.对象工具.流操作.文件操作.异步双向通道等功能.旨在提供可靠.方便.可单元测试的代码.它是一个无任何依赖的独立工具包,希望能够方便广大开发者快速的实现应用. 作者:@愚民日记 地址:http://git.oschina.net/helyho/Voovan http://www.oschina.net/news/80909/

网站框架的动态编译的实现原理

ZKWeb网站框架是一个自主开发的网页框架,实现了动态插件和自动编译功能. ZKWeb把一个文件夹当成是一个插件,无需使用csproj或xproj等形式的项目文件管理,并且支持修改插件代码后自动重新编译加载. 下面将说明ZKWeb如何实现这个功能,您也可以参考下面的代码和流程在自己的项目中实现. ZKWeb的开源协议是MIT,有需要的代码可以直接搬,不需要担心协议问题. 实现动态编译依赖的主要技术 编译: Roslyn Compiler Roslyn是微软提供的开源的c# 6.0编译工具,可以通

Python ......... 一个神奇快速开发玩具!

前略!          当你还在void main的时候 . 当你还在 public class 的时候 .当你还在<h1>或者<div>的时候:你知道有个家伙叫做Python (蟒蛇)么?               当你在用C的时候,你是否知道Py 可以开发Web ?               当你在还在为严格的语法烦恼的时候,你是否知道我们为了一个空格没打对而需要面对编译不通过的尴尬么?               当你理解了动态语言之美后,你是否想知道哪一类动态语言最容