乙個神奇的PHP框架 Phalcon 之編譯安裝

2022-02-26 12:28:26 字數 2935 閱讀 2458

前言

centos7下公升級php到最新版本以及編譯安裝phalcon框架,看相關文件無數遍,自己嘗試編譯安裝之後才理解的更深,編譯步驟以及碰到的問題做個簡單的記錄

php-7.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

4.生產環境常用php編譯配置

./configure

--prefix=/u01/server/php-7.1.0

--with-config-file-path=/u01/server/php-7.1.0/etc

--enable-fpm

--disable-cgi

--with-fpm-user=daemon

--with-fpm-group=daemon

--enable-mbstring

--enable-soap

--enable-bcmath

--enable-ftp

--with-xmlrpc

--with-zlib

--with-bz2=/usr/local

--with-curl

--enable-exif

--with-openssl

--enable-calendar

--enable-ctype

--enable-pcntl

--enable-session

--enable-zip

--enable-sockets

--with-mysqli=mysqlnd

--with-pdo-mysql=mysqlnd

--with-sqlite3

--enable-phar

--with-iconv-dir=/u01/server/common

--with-gettext

--enable-intl

--with-icu-dir=/u01/server/common

--with-mcrypt=/u01/server/common

--with-gd

--with-png-dir=/u01/server/common

--with-jpeg-dir=/u01/server/common

--with-freetype-dir=/u01/server/common

--with-xpm-dir=/u01/server/common/libxpm-3.5.5

phalcon編譯安裝

git clone git:

2.編譯安裝

cd cphalcon/build

./install

3.加上配置(php.ini)

extension=phalcon.so

4.重啟php-fpm

service php-fpm restart

問題

1.gcc編譯器報錯(記憶體不夠用)

後記

1.使用phalcon文件裡高階編譯方法,編譯之後的檔案會很大,將近20幾兆

2.使用phalcon文件裡通用編譯方法,編譯之後檔案只有5m左右

3.使用通用編譯方法,命令自動搜尋路徑需要顯示指定需要編譯php版本php-config,phpize這2個命令的路徑

4.cphalcon/build/install安裝指令碼會自動根據系統環境以及安裝的php版本編譯

5.編譯的時間比較長》_<

6.編譯時需要足夠可用的記憶體》=2g

7.編譯php時,官方建議使用mysqlnd驅動

8.解決phalcon高階編譯可執行檔案很大的問題

export cc="gcc"

export cflags="-o2 -wall -fvisibility=hidden -flto -dzephir_release=1"

9.使用php自帶的gd庫時,需要帶上--with-bz2,可能依賴這個庫

參考資料

phalcon倉庫

gcc: internal error: killed (program cc1) while compiling php

乙個神奇的PHP框架 Phalcon 之初識

前言 第一感受 花了些時間看了phalcon 框架的文件,對這個框架有了整體的一些認識,說下我的一些感受。1 主體 c語言編寫,執行效率肯定比其它純php編寫的框架要高 2 框架功能大而全,全棧式框架,web開發相關的元件都有,元件之間低耦合 3 物件容器以及依賴注入的神奇使用,簡化 編寫 4 很多...

乙個超級簡單的php框架

最近自己寫了乙個php框架,github位址如下 blakefez php framework command 該目錄用於存放cli模式下的command類 controller 該目錄用於存放cgi模式下的controller類 frame 該目錄用於存放框架的核心 blakefez.php 這是...

製作乙個簡易的PHP框架

crom是結合當前各種框架和各類教程,自己整合的開發框架,框架能進行簡易的web開發。gitlab原始碼鏈結 ctrl model views core common config libimooc.php log storage vendor composer.json index.php 框架根...