PHP7初體驗
php7剛出來的時候,由于手頭上事情比較多,一直沒有時間去弄,只能靜靜的看著其他人在那吹筆。最近終于閑下來,抽空編譯了下php7.
安裝PHP
#缺失的部分組件 yum install libpng libpng-devel gd gd-devel zlib zlib-devel libmcrypt libmcrypt-devel #download wget http://am1.php.net/distributions/php-7.0.0.tar.gz tar -zxvf php-7.0.0.tar.gz cd php-7.0.0 #網上找的一段配置項 ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts --enable-opcache make make install ln -s /usr/local/php7/bin/php /usr/bin/php7 ln -s /usr/local/php7/bin/phpize /usr/bin/php7ize php -v php7 -v cp /src/php-7.0.0/php.ini-development /usr/local/php7/etc/php.ini vim php.ini (修改timezone為Aisa/Shanghai, 打開opcache及hugepage, opcache.huge_code_pages=1) #查看ini文件修改是否生效 php7 -r "phpinfo();"|grep timezone #查看opcache配置 cat /usr/local/php7/ #查看模塊 php7 -m
安裝Memcached擴展
#需要安裝libmemcached最新版本(所需組件) wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz tar -zxvf libmemcached-1.0.18.tar.gz cd libmencached ./configure --prefix=/usr/local/libmemcached make && make install #安裝memcached擴展 git clone https://github.com/php-memcached-dev/php-memcached -b php7 cd php-memcached php7ize #不加--with-php-config參數,會默認使用到原來的php-config,而不是php7-config,導致make的時候報fatal error: Zend/zend_smart_str.h: No such file or directory ./configure --with-libmemcached-dir=/usr/local/libmemcached --with-php-config=/usr/local/php7/bin/php-config make && make install vim php.ini (修改extension=memcached.so) php7 -m #安裝memcached服務 yum install memcached -y #開啟memcached服務 memcached -d -m 100 -u root -p 11211 -P /tmp/memcached.pid
測試程序:
安裝Redis擴展
#git clone地址 git clone https://github.com/phpredis/phpredis -b php7 cd phpredis php7ize ./configure --with-php-config=/usr/local/php7/bin/php-config make && make install vim /usr/local/php7/ect/php.ini (添加extension=redis.so) #安裝redis 服務 yum install redis -y service redis start
測試程序:
對了,鳥哥微博里說的,建議gcc升級到4.8:
wget ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.bz2 tar -xvf gcc-4.8.2.tar.bz2 cd gcc-4.8.2 ./contrib/download_prerequistities //會自動下載三個依賴庫,gmp, mpfr, mpc cd gmp mkdir build cd build ../configure --prefix=/usr/local/gcc/gmp make && make install cd ../../mpfr mkdir build cd build ../configure --prefix=/usr/local/gcc/mpfr --with-gmp=/usr/local/gcc/gmp make && make install cd ../../mpc mkdir build cd build ../configure --prefix=/usr/local/gcc/mpc --with-mpfr=/usr/local/gcc/mpfr --with-gmp=/usr/local/gcc/gmp make && make install vim /etc/ld.so.conf #添加以下內容到文件中: /usr/local/gcc/gmp/lib /usr/local/gcc/mpfr/lib /usr/local/gcc/mpc/lib ldconf 編譯gcc cd ../.. ./configure --prefix=/usr/local/gcc --enable-threads=posix --disable-checking --enable-languages=c,c++ --disable-multilib make && make install //漫長的編譯。。。第一次編譯差不多兩三個小時。。 刪除舊版本gcc yum remove gcc yum remove gcc-c++ updatedb 鏈接到新版本 cd /usr/bin ln -s /usr/local/gcc/bin/gcc gcc ln -s /usr/local/gcc/bin/g++ g++ gcc -v
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!