前言
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 框架根...