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. ubuntu在命令行下同步时间

    1. 修改 /etc/timezone的时钟为UTC时钟. echo "Asia/Shanghai" > /etc/timezone 2.修改时区 $sudo cp /usr ...

  2. 二度Xml<2>

    一下介绍xml的基本操作,添加xml新节点: 其他方法在前一篇日记中有详细讲解,请详见:http://www.cnblogs.com/fjsnail/archive/2012/10/20/273212 ...

  3. memcpy用法

    函数原型 void *memcpy(void*dest, const void *src, size_t n); 功能 由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始 ...

  4. 国内物联网平台(8):中移物联网开放平台OneNet

    国内物联网平台(8)——中移物联网开放平台OneNet 马智 平台定位 OneNET是中移物联网有限公司搭建的开放.共赢设备云平台,为各种跨平台物联网应用.行业解决方案,提供简便的云端接入.存储.计算 ...

  5. 阿里云RDS外网无法访问解决办法

    为了安全起见,阿里云的RDS数据库设置只能内网连接,那么为了方便查询数据,我每次都去连接内网服务器远程桌面. 这次我因为网络问题,远程桌面非常不稳定,一会掉线一会掉线,只能另想办法. 同事那里有个批处 ...

  6. .Net 项目代码风格规范

    最近没啥时间自己状态也不是很好,公司的事情忙,自己也有一些事情要处理,所以好久没有写博客了.利用公司午休时间写一写,以下是参考了一些资料,整理出来,共勉之. 代码风格没有正确与否,重要的是整齐划一,清 ...

  7. 「HEOI2016/TJOI2016」序列

    题目链接 戳这 Solution 首先考虑最暴力的dp 我们设: \(f[i]\)表示选择\(i\)以后所能形成的满足条件的子序列的最大值 \(minx[i]\)表示\(i\)能转换为的最小值 \(m ...

  8. NSEnumerator迭代器

    前言 Xcode 7 对系统中常用的一系列容器类型都增加了泛型支持(),有了泛型后就可以指定容器类中对象的类型了. 假如向泛型容器中加入错误的对象,编译器会报警告. __covariant:协变性,子 ...

  9. 使用python-fabric进行远程环境部署

    使用fabric可以通过ssh连接远程终端,对终端进行操作,可以进行远程环境的部署,前提是远程终端已安装openssh-server,且ssh-server开启 安装fabric fabric支持py ...

  10. luoguP2387 [NOI2014]魔法森林

    https://www.luogu.org/problemnew/show/P2387 考虑先将所有边按 a 值排序,依次加入每一条边,如果这条边的两个端点 ( l, r ) 之间的简单路径中 b 的 ...