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. linux Shell中常用的条件判断

    linux Shell中常用的条件判断 -b file            若文件存在且是一个块特殊文件,则为真 -c file            若文件存在且是一个字符特殊文件,则为真 -d ...

  2. CSS变量教程

    今年三月,微软宣布 Edge 浏览器将支持 CSS 变量. 这个重要的 CSS 新功能,所有主要浏览器已经都支持了.本文全面介绍如何使用它,你会发现原生 CSS 从此变得异常强大. 一.变量的声明 声 ...

  3. Mac下切换Python版本

    Mac下有多个版本的Python时,需要进行版本切换.我使用的是anaconda,在终端下进行包安装时,默认Python版本是MacOS自带的Python,需要进行手动的版本切换. # 将anacon ...

  4. TreeView的绑定与读取

    /// <summary>        /// 绑定TreeView        /// </summary>        public void BindTreeVie ...

  5. NET上传大文件出现网页无法显示的问题 默认的上传文件大小是4M

    需要在配置文件处进行修改 web.config中的<system.web></system.web>内加入如下代码: <httpRuntime executionTime ...

  6. 649. Dota2 Senate

    In the world of Dota2, there are two parties: the Radiant and the Dire. The Dota2 senate consists of ...

  7. lower_bound下确界

    //lower_bound用于找到首个大于等于某个值的元素 #include<algorithm> #include<iostream> using namespace std ...

  8. WCF进阶(一)——概述

    前言 时间的朋友>里面几句特别有预见性的话来说明当今儿世界互联网发展趋势: 市场上有一种叫做"父爱算法"的需求.将会诞生很多伟大的公司.背后的精神就是六个字:你不用懂,听我的 ...

  9. 期待suqingnian.h

    不定期更新,跟着自己的进度走的. 有什么好的东西可以收录的尽管留言 UPD:话说真的没人发现本宝宝的$Martix$类的$operator$打错了么?$qwq$ $2018.7.19$ /*by Qi ...

  10. 洛谷P4495 [HAOI2018]奇怪的背包(数论)

    题面 传送门 题解 好神仙的思路啊--orzyyb 因为不限次数,所以一个体积为\(V_i\)的物品可以表示出所有重量为\(\gcd(V_i,P)\)的倍数的物品,而所有物品的总和就是这些所有的\(\ ...