首先推薦一篇文章
PHP
7
Release
Date
Arrived:
Will
Developers
Adopt
PHP
7?
-
PHP
Classes
blog
。
裡面說到是否會去使用PHP7,就個人而言,我是毫不猶豫地使用的,但是生產環境就不是我說了算,所以只能自己在自己的開發環境里更新PHP的版本。那麼,你呢?
筆者使用的是Linux的openSUSE42.1發行版,Yast裡面還沒有PHP7的安裝包,於是乎只能自己手動編譯安裝了。作為一個PHP開發者,我是非常希望能夠學會編譯安裝PHP7的,之前試過幾次,但是每次安裝都要上網找各種資料,於是乎,這次安裝成功後就想把自己的安裝過程以及遇到的問題記錄下來,方便以後查閱和分享給需要的人。
下載源碼並解壓
進入正題,要編譯安裝PHP7,首先當然要下載PHP7的源碼。你可以到
github
上clone,也可以到
PHP官網
下載。下載後解壓到
/usr/local/src
目錄,並將目錄重命名為php7。進入目錄。
配置編譯參數
生成配置文件
./buildconf
配置
./configure
\
--prefix=/usr/local/php7
\
--exec-prefix=/usr/local/php7
\
--bindir=/usr/local/php7/bin
\
--sbindir=/usr/local/php7/sbin
\
--includedir=/usr/local/php7/include
\
--libdir=/usr/local/php7/lib/php
\
--mandir=/usr/local/php7/php/man
\
--with-config-file-path=/usr/local/php7/etc
\
--with-mysql-sock=/var/run/mysql/mysql.sock
\
--with-mcrypt=/usr/include
\
--with-mhash
\
--with-openssl
\
--with-mysqli=shared,mysqlnd
\
--with-pdo-mysql=shared,mysqlnd
\
--with-gd
\
--with-iconv
\
--with-zlib
\
--enable-zip
\
--enable-inline-optimization
\
--disable-debug
\
--disable-rpath
\
--enable-shared
\
--enable-xml
\
--enable-bcmath
\
--enable-shmop
\
--enable-sysvsem
\
--enable-mbregex
\
--enable-mbstring
\
--enable-ftp
\
--enable-gd-native-ttf
\
--enable-pcntl
\
--enable-sockets
\
--with-xmlrpc
\
--enable-soap
\
--without-pear
\
--with-gettext
\
--enable-session
\
--with-curl
\
--with-jpeg-dir
\
--with-freetype-dir
\
--enable-opcache
\
--enable-fpm
\
--disable-cgi
\
--with-fpm-user=nginx
\
--with-fpm-group=nginx
\
--without-gdbm
\
--disable-fileinfo
參數說明
prefix
PHP7安裝的根目錄
with-config-file-path
PHP7的配置文件目錄
執行完上面的配置命令後的結果如下圖所示:
執行上面命令的過程中會遇到一些依賴缺少的提示,下面列出我遇到的依賴問題:
錯誤:
configure:
error:
xml2-config
not
found.
Please
check
your
libxml2
installation.
解決:
zypper
install
libxml2-devel
錯誤:
configure:
WARNING:
unrecognized
options:
--with-mysql
解決:
取消這個選項,這個選項是不存在的
錯誤:
configure:
error:
jpeglib.h
not
found.
解決:
zypper
install
libjpeg-devel
錯誤:
configure:
error:
mcrypt.h
not
found.
Please
reinstall
libmcrypt.
解決:
zypper
install
libmcrypt-devel
錯誤:
checking
for
recode
support...
yes
configure:
error:
Can
not
find
recode.h
anywhere
under
/usr
/usr/local
/usr
/opt.
解決:
zypper
install
librecode-devel
總的來說,在配置的時候遇到沒有的就打開Yast搜一下,如果有的話就安裝,然後重新編譯看還需要那些,如果在Yast找不到,那就上網找一下Google。
編譯和安裝PHP7
make
&&
make
install
其中,make之後可以選擇make
test。只是一個可選步驟,不執行不知道有什麼問題,不過筆者暫時還沒遇到。
查看安裝成功後的PHP7目錄
編譯安裝成功後,查看PHP7的安裝目錄`ls
/usr/local/php7`:
設置PHP7的配置文件
cp
/usr/local/src/php7/php.ini-proction
/usr/local/php7/etc/php.ini
cp
/usr/local/src/sapi/fpm/init.d.php-fpm
/etc/init.d/php-fpm
cp
/usr/local/php7/etc/php-fpm.conf.default
/usr/local/php7/etc/php-fpm.conf
cp
/usr/local/php7/etc/php-fpm.d/www.conf.default
/usr/local/php7/etc/php-fpm.d/www.conf
設置環境變數
在/etc/profile
文件的最後一行加上
export
PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH
然後執行
source
/etc/profile
設置PHP日誌目錄和php-fpm進程文件(php-fpm.sock)目錄
mkdir
-p
/var/log/php-fpm/
&&
mkdir
-p
/var/run/php-fpm
&&
cd
/var/run/
&&
chown
-R
nginx:nginx
php-fpm
將PHP設置為開機啟動
chmod
+x
/etc/init.d/php-fpm
chkconfig
php-fpm
on
可以用chkconfig命令查看開機啟動服務列表。
啟動PHP服務
service
php-fpm
start
通過ps
aux
|
grep
'php'查看PHP是否啟動成功
至此,PHP7就安裝成功了,你也開始使用PHP7吧!
Ⅱ Mac 編譯安裝php7時提示「freetype-config not found」,怎麼解決
做一個鏈接咯
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h
Ⅲ 剛買了mac,請問怎麼重新編譯php
學習一下brew 使用brew,nginx mysql php都可以很容易的安裝
Ⅳ mac下使用brew安裝php開發環境~呢
開發機一直使用brew來安裝PHP及其他的環境,今天把PHP升到7.1,由於7.1版本下還沒有runkit的源,官方也沒有更新支持到php7,慶幸Github上有人Fork後做了支持,所以無法使用brew安裝,只能編譯安裝了。
首先下載runkit,解壓,進入目錄。
只好從 Nginx 上想其他的方案,畢竟之前曾利用 lua 腳本對 MySQL 連接請求進行改造過,果不其然,有類似的模塊可以拷貝一個請求。
不知道是不是你需要的答案,建議你去後盾人那自學,最近他們在搞什麼實訓班培訓的活動有時間可以去看看
Ⅳ 鳥哥:讓php7達到最高性能的幾個tips
1. Opcache
記得啟用Zend Opcache, 因為PHP7即使不啟用Opcache速度也比PHP-5.6啟用了Opcache快, 所以之前測試時期就發生了有人一直沒有啟用Opcache的事情. 啟用Opcache非常簡單, 在php.ini配置文件中加入:
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"
2. 使用新的編譯器
使用新一點的編譯器, 推薦GCC 4.8以上, 因為只有GCC 4.8以上PHP才會開啟Global Register for opline and execute_data支持, 這個會帶來5%左右的性能提升(Wordpres的QPS角度衡量)
其實GCC 4.8以前的版本也支持, 但是我們發現它支持的有Bug, 所以必須是4.8以上的版本才會開啟這個特性.
3. HugePage
前面文章介紹過
4. Opcache file cache
開啟Opcache File Cache(實驗性), 通過開啟這個, 我們可以讓Opcache把opcode緩存緩存到外部文件中, 對於一些腳本, 會有很明顯的性能提升.
在php.ini中加入:
opcache.file_cache=/tmp
這樣PHP就會在/tmp目錄下Cache一些Opcode的二進制導出文件, 可以跨PHP生命周期存在.
5. PGO
如果你的PHP是專門為一個項目服務, 比如只是為你的Wordpress, 或者drupal, 或者其他什麼, 那麼你就可以嘗試通過PGO, 來提升PHP, 專門為你的這個項目提高性能.
具體的, 以wordpress 4.1為優化場景.. 首先在編譯PHP的時候首先:
$ make prof-gen
然後用你的項目訓練PHP, 比如對於Wordpress:
$ sapi/cgi/php-cgi -T 100 /home/zk/local/www/htdocs/ wordpress/index.php >/dev/null
也就是讓php-cgi跑100遍wordpress的首頁, 從而生成一些在這個過程中的profile信息.
最後:
$ make prof-clean$ make prof-use && make install
這個時候你編譯得到的PHP7就是為你的項目量身打造的最高性能的編譯版本.
Ⅵ mac怎麼配置php7+nginx
安裝好brew之後,先安裝php7。安裝php7之前,要先更新一下brew的源並加入一些第三方的庫:
brew update
brew tap homebrew/pes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
然後就可以使用brew搜索php70的包並安裝了!
Ⅶ 剛買了mac,請問怎麼重新編譯php
為了擴展管理方便,首先來安裝pecl擴展管理器:
cd /usr/lib/php
sudo php install-pear-nozlib.phar
安裝Redis、Memcache、Mongo等擴展。
sudo pecl install redis
sudo pecl install memcache
sudo pecl install mongo
sudo pecl install xdebug
將擴展配置添加的php.ini文件中:
extension=memcache.so
extension=mongo.so
extension=redis.so
zend_extension=xdebug.so
安裝xcache,從官網下載Release-3.2.0解壓縮並安裝
tar xvf xcache-3.2.0.tar
cd xcache-3.2.0
phpize
/configure
make
sudo make install
配置XCache
[xcache]
xcache.size = 128M
xcache.var_size = 8M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.optimizer = Off
由於Mac自帶的PHP環境是不包括mcrypt擴展的,所以需要下載同版本的php源碼包,單獨編譯這個模塊載入。從官網的歸檔裡面找到php5.5.14的源碼包,下載:http://php.net/releases/
tar zxvf php-5.5.14.tar.gz
cd php-5.5.14/ext/mcrypt/
phpize
。/configure
make
sudo make install
配置ext-mcrypt
extension=mcrypt.so
為了加速,還需要打開opcache。
zend_extension=opcache.so
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=0
; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=0
Ⅷ php7編譯安裝默認有哪些插件
安裝PHP7後,點擊查看phpinfo文件就知道默認安裝了哪些插件了,採用PHPWAMP一鍵切換任意PHP版本,然後你看詳細的phpinfo文件不就行了么。
用PHPWAMP綠色集成環境隨便你折騰,同時運行幾百個不同的PHP版本。
支持所有Windows系統,目前最新的Windows10也沒問題。
PHPWAMP自帶php5.2、php5.3、php5.4、php5.5、php5.6、php7這6個默認版本,擁有共生模式(與其他環境同時使用),單身狗霸體模式,強行打通阻礙運行網站。
如果還不滿意,可以自定義設置任何PHP版本,700個PHP版本隨便你切換。
這篇教程文章里提供700多個PHP版本下載。(700個PHP版本一鍵切換)
網路搜索這個文章標題:
PHP集成環境如何自定義PHP版本,同時運行多個php版本一鍵開啟模塊。
搜到的文章中,在文章的附件里有提供PHP歷史版本下載,差不多700多個PHP版本。
Ⅸ 剛買了mac,請問怎麼重新編譯php
去後盾人那看看,視頻資源多,都是一線教師親自錄制的,每個學員獨立完成的希望能幫到你
Ⅹ Mac下安裝php7報錯如下,怎麼操作
硬碟分區應該為GUID格式才得,NTFS格式是裝不了的,還有就是分區分成GUID格式後,安裝時到選盤的時候還要把分區的盤塗抹成MAC寫入日式
最最主要的你機子是蘋果機才得,要不裝不下去,除非你用破解內核了的MAC系統!