centos7下安装php7
php7 centos7

安装PHP7
首先安装一些必须的依赖,这里就不阐述了,后面文章再细说
yum install -y \
gcc-c++ autoconf \

yum -y install postgresql-devel\
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
     
解决办法二、
使用php mcrypt 前必须先安装Libmcrypt
libmcrypt源码安装方法:
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模式下都已经启用了。

centos安装php7编译相关推荐

  1. centos 安装PHP7并且与其他版本共存并且为PHP7安装redis扩展

    centos 安装PHP7并且与其他版本共存 wget -c -Ophp-7.1.5.tar.gz http://cn2.php.net/get/php-7.1.5.tar.gz/from/this/ ...

  2. Centos安装PHP7及配置php-fpm开机启动

    centos 7 编译安装 php-7.2.11的步骤 在官网下载php-7.2.11的php压缩包,centos 7 安装 php-7.2.11的步骤,http://cn2.php.net/dist ...

  3. centos 安装PHP7.0

    安装环境: linux版本:CentOS 6.6_32位 PHP版本:php-7.0.11 下载php7.0:wget http://cn2.php.net/distributions/php-7.0 ...

  4. linux php7扩展查看,linux安装PHP7以及扩展

    Linux下安装PHP7 事先升级gcc4.8,然后安装PHP7,安装步骤参考:CentOS安装PHP7 1.Linux下编译的php没有php.ini 解决办法:从源代码目录中复制php.ini-d ...

  5. 7 centos 源码安装samba_在CentOS7.6里编译安装PHP7.4(最新版),很详细

    拿到一个空的服务器,首先我们就要来用起来啦! 首先要先下载并编译安装PHP最新版本,请到php官网下载: 这里我首先在系统里在新建存储源码包的文件夹,比如我存放在这里 下载安装PHP7.4之前,你要先 ...

  6. 编译 PHP7.0为什么那么慢,CentOS 7编译安装php7.0.7以及可能遇到的问题的解决方案...

    #CentOS 7编译安装php7.0.7 下载并解压php 编译安装 修改配置文件 启动服务 过程中可能遇到的问题解决 1.下载并解压php ####下载地址 http://cn2.php.net/ ...

  7. centos 6.5上安装php7,centos 6.5 编译安装PHP7

    上一篇介绍了centos yum安装php,,今天银众网络介绍centos编译安装php7,写下安装步骤,我是在centos6.5 环境中编译的,如下: 下载地址http://cn2.php.net/ ...

  8. centos php71,CentOS 71编译安装PHP7

    1 创建php用户和用户组,并在github下载php7源码 首先创建一个名为php且没有登录权限的用户和一个名为php的用户组,然后去GitHub下载php7源码包. #######新建php用户和 ...

  9. CentOS 7 Linux 安装PHP7.2.12 - 编译安装

    CentOS 7 Linux 安装PHP7.2 - 编译安装 1 安装扩展包并更新系统内核 [root@iz28snxdn5mz ~]# yum install epel-release -y [ro ...

最新文章

  1. 机器学习中的数学基础:(1.1)矩阵特征值和特征向量的几何意义
  2. IOS高级编程之二:IOS的数据存储与IO
  3. 搜索用计算机弹奏9277的数字,计算机基础知识参考试题(含答案)
  4. python连oracle数据库参数变量_带绑定字符串变量的Python cx_Oracle SQL
  5. python自学入门-初学 Python 者自学 Anaconda 的正确姿势是什么?
  6. PointTrackNet:一种用于点云三维目标检测和跟踪的端到端网络
  7. 关于win10企业版在极域电子教室软件 v4.0 2015 豪华版的全屏控制下如何取得自由...
  8. [STM32]Cubemx+USBAudio声卡+I2S+DMA+WM8978实验记录(未解决)
  9. 【线性代数】行列式和矩阵的关系
  10. 一套完整代码解析 高度坍塌的解决方案(最全)
  11. 支付分账如何助力B2B大宗商品交易?
  12. vue实现页面锁屏完美解决
  13. 解决内存占用比应用进程占用高的问题
  14. 火狐浏览器插件开发小试
  15. 远程桌面拷贝数据到远程计算机,远程桌面如何复制本地文件 远程桌面拷贝电脑上的文件方法...
  16. 计算机三级网络技术小技巧,计算机三级PC技术过关心得技巧
  17. 事业单位计算机操作专业技术分析面试题,事业单位面试:历年面试试题解析(四)...
  18. 华清远见上海中心22071班 8.24作业
  19. 五部超燃科幻电影,九成没有全部看过
  20. 小学生日记-excel:考勤表加班统计

热门文章

  1. accept和select的区别
  2. 国家可持续发展议程创新示范区创建工作推进会在北京召开
  3. 《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.4 示例:使用按钮集装饰单选框...
  4. 解决outlook2013设置错误无法启动
  5. 内存缓存LruCache实现原理
  6. http://www.easyui.info/archives/396.html
  7. 支持上传文件的xhEditor for Typecho EX插件
  8. 网吧服务器RAID 0+1硬盘阵列组建图解
  9. java静态工厂方法模式_设计模式:简单工厂模式(静态工厂方法模式)
  10. html文件打开系统错误,win7打开word提示“无法打开文件Normal因为内容有错误”的两种解决方法...