Linux下安装PHP7

事先升级gcc4.8,然后安装PHP7,安装步骤参考:CentOS安装PHP7

1、Linux下编译的php没有php.ini

解决办法:从源代码目录中复制php.ini-development或php.ini-production到php.ini目录

2、安装zlib扩展

cd /usr/local/src/php-7.0.10/ext/zlib

cp config0.m4 config.m4

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config --with-zlib=/usr

make & make install & make clean

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

extension=zlib.so //添加这一行,重启PHP服务

参考:phpize编译安装PHP zlib库扩展模块

3、安装gd扩展

sudo yum install php-gd2 png jpeg freetype //YUM安装扩展

cd /usr/local/src/php-7.0.10/ext/gd //这里的php-7.0.10/文件夹是我当初解压PHP安装包得到的。

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd

sudo make

make install

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

extension=gd.so //添加这一行,重启PHP服务

参考:LINUX下用PHPIZE安装PHP GD扩展

4、安装mysqli扩展

cd /usr/local/src/php-7.0.10/ext/mysqli//这里的php-7.0.10/文件夹是我当初解压PHP安装包得到的。

cp /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config --with-mysql-config=/usr/bin/mysql_config   --with-pdo-mysql=/usr/local/mysql   --enable-pdo=shared

sudo make

make install

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

extension=mysqli.so //添加这一行,重启PHP服务

参考:PHP独立编译安装扩展(mysqli,pdo-mysql)

5、安装pdo_mysql扩展

cd /usr/local/src/php-7.0.10/ext/pdo_mysql //这里的php-7.0.10/文件夹是我当初解压PHP安装包得到的。

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config --with-mysql-config=/usr/bin/mysql_config   --with-pdo-mysql=/usr/local/mysql   --enable-pdo=shared

sudo make

make install

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

extension=pdo_mysql.so //添加这一行,重启PHP服务

参考:PHP独立编译安装扩展(mysqli,pdo-mysql)

6、安装opcache扩展

cd /usr/local/src/php-7.0.10/ext/opcache

/usr/local/php-7.0.10/bin/phpize

cp config0.m4 config.m4

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config

make & make install & make clean

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

//添加以下这些行,重启PHP服务

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"
opcache.file_cache=/tmp
opcache.validate_timestamps=1    //生产环境中配置为0
opcache.revalidate_freq=0    //检查脚本时间戳是否有更新时间
opcache.memory_consumption=64    //Opcache的共享内存大小,以M为单位
opcache.interned_strings_buffer=16    //用来存储临时字符串的内存大小,以M为单位
opcache.max_accelerated_files=4000    //Opcache哈希表可以存储的脚本文件数量上限
opcache.fast_shutdown=1         //使用快速停止续发事件

参考:PHP5.5 Zend Opcache安装配置教程

7、安装redis扩展

Redis扩展:http://pecl.php.net/package/redis

wget http://pecl.php.net/get/redis-3.0.0.tgz

tar -xzvf redis-3.0.0.tgz

cd redis-3.0.0

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config

make & make install

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件 e

xtension=redis.so //添加这一行,重启PHP服务

参考:Linux下Redis安装与PHP扩展(PHP7适用)

8、中间遇到zlib.so明明编译好了也配置了,就是没加载

解决方法:通过查看php-fpm日志如下,发现是编译的问题,在php源码根目录make clean一下重新编译zlib,搞定了

NOTICE: PHP message: PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) /usr/local/php-7.0.10/lib/php/extensions/no-debug-non-zts-20151012/zlib.so' in Unknown on line 0

9、安装mbstring扩展

cd /usr/local/src/php-7.0.10/ext/mbstring //这里的php-7.0.10/文件夹是我当初解压PHP安装包得到的。

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config

sudo make

make install

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

extension=mbstring.so //添加这一行,重启PHP服务

10、类似方法安装openssl扩展

linux安装PHP7以及扩展的更多相关文章

  1. Linux安装php-7.0.16,完成php和apache的配置

    Linux安装php-7.0.16,完成php和apache的配置     版本:php-7.0.16.tar.gz,libxml2-2.9.2.tar.gz(php需要它的支持,首先安装它) 说明 ...

  2. centos 安装php7 memcached扩展

    在使用下面这种方式安装php7 memcached扩展时,先要安装好memcached服务器yum -y install php70w-pecl-memcached

  3. 聊聊这两天在linux安装PHP7遇到的坑,真的是坑死人不偿命啊

    前情摘要: 这两天要在虚拟机上部署项目,用于测试在linux上项目效果怎样,然后这两天就一直在部署apache+mysql+php 其实部署还是很简单的具体的apache和mysql部署方法请看其他两 ...

  4. 编译安装PHP7及扩展

    一.编译安装PHP 1. 下载源码包并解压 源码包地址:http://php.net/downloads.php 下载源码包 当前PHP最新本门是7.2.9,下载 php-7.2.9 源码包 wget ...

  5. linux 安装php7 Nginx

    这里 记录下 本屌安装linux  下安装php7 即遇到的问题. wget http://cn2.php.NET/distributions/php-7.0.4.tar.gz tar zxvf ph ...

  6. Linux下PHP7.2扩展

    前言 由于公司某项目需要连接oracle数据库,该项目使用的开发语言为PHP,故需要对PHP进行扩展 环境说明 服务器:Centos7 PHP:7.2, 源码安装;安装路径:/usr/local/xx ...

  7. mac 安装 php7 及扩展

    mac 版本号:10.12.3 (16D30) 安装内容 php7.0.18(配置apache),composer,phpunit,xdebug扩展,docopts,mongo和redis扩展 php ...

  8. linux上安装php7 memcache扩展 和 安装服务端memcached

    linux上安装memcached不算太困难.唯一让本人感到困难的是 php7的memcache扩展安装.真的蛋疼! 先说安装服务端 memcached 1. 首先安装Libevent事件触发管理器. ...

  9. linux安装php7

    之前一直对linux研究的比较少,终于下定决心好好把linux玩一下 首先~我是安装了vm虚拟机,然后使用的是centos7的版本.因为vm不好复制粘贴,故使用了xshell连接了我的linux进行操 ...

随机推荐

  1. 【转载】Python BeautifulSoup匹配字符串

    作者:鸡仔说链接:https://www.jianshu.com/p/ceb99aed4b2e來源:简书 BeautifulSoup中可以通过name和attrs去定位名称和属性,以找到特定的html ...

  2. python23种设计模式

      第一篇 Python与设计模式:前言 第二篇(23种设计模式) 创建类设计模式(5种) 单例模式.工厂模式.简单工厂模式.抽象工厂模式.建造者模式.原型模式 结构类设计模式(7种) 代理模式.装饰 ...

  3. What is difference between 3-layer architecture and MVC architecture?

    By Vikas Singh on Sep 26, 2014 In 3-layer architecture  3-layer architecture separates the applicati ...

  4. JAVA的编码转换测试

    package test; import java.io.UnsupportedEncodingException; /** * * @author jim */ public class Test ...

  5. 一个数组:1,1,2,3,5,8,13,21...+m,求第30位数是多少?用递归实现;(常考!!!)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  6. IEnumerable与IQueryable区别

    最近在使用MongoDB的时候,发现查询很慢,一个根据Id查询的语句竟然用了50秒,debug了一下,没发现什么大问题,但是另一个查询的语句只用了2秒,对比了一下,发现50s的那个语句使用的IEnum ...

  7. 为什么 kubernetes 天然适合微服务 (2)

    此文已由作者刘超授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验 三.微服务化的十个设计要点 微服务有哪些要点呢?第一张图是 SpringCloud 的整个生态. 第二张图是微服 ...

  8. 【转】c#中@的3种作用

    源地址:https://www.cnblogs.com/linkbiz/p/6380814.html

  9. 八大排序算法的python实现(二)希尔排序

    代码: #coding:utf-8 #author:徐卜灵 # 希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名. # 希尔排序,也称递减增量排序算法, ...

  10. javascript jquery console调试方法说明

    控制台(Console)是Firebug的第一个面板,也是最重要的面板,主要作用是显示网页加载过程中产生各类信息. 一.显示信息的命令 Firebug内置一个console对象,提供5种方法,用来显示 ...