標籤:
前言
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
一個神奇的PHP架構:Phalcon 之編譯安裝