標籤:ati ram type 路徑 lib hhvm 配置錯誤 技術分享 gif
PHP7和HHVM比較
PHP7的在真實情境的效能確實已經和HHVM相當, 在一些情境甚至超過了HHVM。HHVM的營運複雜, 是多執行緒模式, 這就代表著如果一個線程導致crash了, 那麼整個服務就掛了, 並且它不會自動重啟。另外它採用JIT, 那麼意味著, 重啟以後要預熱, 沒有預熱的情況下, 效能較為糟糕。並且多執行緒模式調試困難, 這對於追求穩定來說的Web服務來說, 是非常不適合的。
下載
# wget http://php.uberglobalmirror.com/distributions/php-7.0.18.tar.gz
解壓安裝# tar zxvf php-7.0.2.tar.gz# cd php-7.0.2首先查看安裝協助# ./configure --help# ./configure --prefix=/usr/local/php \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip
如果配置錯誤,需要安裝需要的模組,直接yum一併安裝依賴庫
# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel MySQL pcre-devel
注意:安裝php7beta3的時候有幾處配置不過去,需要yum一下,現在php-7.0.2已經不用這樣了。# yum -y install curl-devel# yum -y install libxslt-devel 編譯安裝# make && make install
可以到安裝目錄,查看產生的檔案
需要注意的是,雖然到此,PHP安裝是完成了,但是沒找到設定檔,因為設定檔 php.ini需要自己從安裝包中建立
建立php-fpm.conf檔案
建立www.conf檔案
如果不建立*.conf 檔案,啟動php-fpm時候會報錯,因為它是php-fpm的設定檔
Nginx與PHP的串連
在nginx.conf中添加如下檔案
1 location ~ \.php$ {2 root html;3 fastcgi_pass 127.0.0.1:9000;4 fastcgi_index index.php;5 fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;6 include fastcgi_params; 7 }測試啟動php-fpm
預設的是監聽9000連接埠,可以在php-fpm配置中進行相應的修改,我的設定檔路徑如下
/usr/local/php/etc/php-fpm.d/www.conf
啟動Nginx
編輯測試檔案內容如下 touch 1.php
vim 1.php
<?php phpinfo();
測試結果如下
linux 源碼安裝php7.0 yum