centos7下安裝php7 php7 centos7 安裝PHP7 首先安裝一些必須的依賴,這裏就不闡述了,後面文章再細說 yum install -y \ gcc-c++ autoconf \ libjpeg libjpeg-devel libpng \ libpng-devel freetype freetype-devel \ libpng libpng-devel libxml2 libxml2-devel \ zlib zlib-devel glibc glibc-devel \ glib2 glib2-devel bzip2 bzip2-devel \ ncurses curl openssl-devel \ gdbm-devel db4-devel libXpm-devel \ libX11-devel gd-devel gmp-devel \ readline-devel libxslt-devel \ expat-devel xmlrpc-c xmlrpc-c-devel \ libicu-devel libmcrypt-devel \ libmemcached-devel 下載php7,並解壓 $ cd /usr/src/ $ wget http://cn2.php.net/distributions/php-7.0.0.tar.gz #解壓 $ tar -xzxvf php-7.0.0.tar.gz $ cd php-7.0.0.0 編譯,安裝 centos源不能安裝libmcrypt-devel,因爲版權的緣由沒有自帶mcrypt的包 有兩種方法解決,一種是使用第三方源,這樣還可使用yum來安裝,簡單方便,壞處是第三方源多少有中不可靠的感受。 解決辦法一 1、安裝第三方yum源 wget http://www.atomicorp.com/installers/atomic sh ./atomic 2、使用yum命令安裝 yum install php-mcrypt libmcrypt libmcrypt-devel 解決辦法2、 使用php mcrypt 前必須先安裝Libmcrypt libmcrypt源碼安裝方法: 1 2 3 4 5 6 7 cd /usr/local/src wget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz tar -zxvf libmcrypt-2.5.8.tar.gz cd /usr/local/src/libmcrypt-2.5.8 ./configure --prefix=/usr/local make make install 具體參數意義之後再說 $ ./configure --prefix=/usr/local/php7 \ --with-mysql-sock --with-mysqli \ --enable-fpm --enable-soap \ --with-libxml-dir --with-openssl \ --with-mcrypt --with-mhash \ --with-pdo-pgsql \ --with-pcre-regex --with-zlib \ --enable-bcmath --with-iconv \ --with-bz2 --enable-calendar \ --with-curl --with-cdb --enable-dom \ --enable-exif --enable-fileinfo \ --enable-filter --with-pcre-dir \ --enable-ftp --with-gd \ --with-openssl-dir --with-jpeg-dir \ --with-png-dir --with-zlib-dir \ --with-freetype-dir \ --enable-gd-native-ttf \ --enable-gd-jis-conv --with-gettext \ --with-gmp --with-mhash \ --enable-json --enable-mbstring \ --enable-mbregex \ --enable-mbregex-backtrack \ --with-libmbfl --with-onig \ --enable-pdo --with-pdo-mysql \ --with-zlib-dir --with-readline \ --enable-session --enable-shmop \ --enable-simplexml --enable-sockets \ --enable-sysvmsg --enable-sysvsem \ --enable-sysvshm --enable-wddx \ --with-libxml-dir --with-xsl \ --enable-zip \ --enable-mysqlnd-compression-support \ --with-pear --enable-intl $ make $ make install 上面的命令執行完後php7就已經安裝在到了/usr/local/php7目錄下了。正常的話咱們執行下面的命令 $ /usr/local/php7/bin/php -v PHP 7.0.0 (cli) (built: Dec 13 2015 22:28:12) ( NTS ) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies 接下來咱們要作一些簡單配置讓php運行更簡單 把php加入到系統環境變量中,作個軟鏈便可 $ ln -sf /usr/local/php7/bin/php /usr/local/bin/php $ php -v #和以前的/usr/local/php7/bin/php同樣 添加php.ini,若是是生產環境則cp對應的php.ini-production $ cp php.ini-development /usr/local/php7/lib/php.ini 配置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 $ cp /usr/src/php-7.0.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm $ chmod +x /etc/init.d/php-fpm 配置文件添加成功後,咱們啓動php-fpm $ service php-fpm start php-fpm啓動後咱們還須要配置nginx才能經過訪問php頁面,首先確認nginx是啓動的。service nginx restart, 配置nginx支持php,首先在web目錄下新建一個php文件 $ echo '<?php phpinfo();' > /usr/share/nginx/html/info.php 而後訪問 http://127.0.0.1/info.php,應該看到一個提示下載的頁面。這是由於爲nginx如今沒法處理php文件,接下來咱們配置nginx使其將php訪問交給php-fpm處理。在/etc/nginx/nginx.conf 的server塊裏面添加下面的配置 location ~ \.php(/|$) { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 保存退出,並重啓nginx $ service nginx restart 如今從新訪問 http://127.0.0.1/info.php應該能看到咱們熟悉的頁面了。 安裝php-memcached 下載php-memcached,從github上下載,記住必定要選擇對應的php7分支 $ cd /usr/src $ git clone https://github.com/php-memcached-dev/php-memcached.git $ cd php-memcached/ $ git checkout php7 $ /usr/local/php7/bin/phpize $ ./configure --with-php-config=/usr/local/php7/bin/php-config $ make $ make install 修改php.ini $ vi /usr/local/php7/lib/php.ini #在最下面加上 extension=memcached.so 保存並退出,重啓php-fpm $ service php-fpm start 再次訪問http://127.0.0.0/info.php,就能夠看到memcached已經安裝成功了。 以上php7,php7-memcached,nginx就已經安裝完成了。 優化 打開opcache,個性php.ini文件 $ vi /usr/local/php7/lib/php.ini [opcache] zend_extension=opcache.so #新加此行 opcache.enable=1 #刪除此行前面的註釋,並將0改成1,啓用opcache opcache.enable_cli=1 #刪除此行前面的註釋,並將0改成1,在cli模式下啓用opcache opcache.revalidate_freq=10 #可選,設置10s檢查一次文件變化 經過 http://127.0.0.1/info.php 和 php -i能夠看到opcache在web和cli模式下都已經啓用了。