CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法

下面是“CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法”的完整攻略。

1. 安装编译工具

在编译PHP7之前,我们需要先安装一些编译工具。在CentOS下,可以使用以下命令进行安装:

yum update
yum install gcc libgcc libstdc++ gcc-c++ zlib-devel autoconf automake libtool bison re2c libxml2-devel libjpeg-devel libpng-devel libmcrypt-devel libmcrypt libcurl-devel libcurl openssl-devel krb5-devel freetype-devel libjpeg-devel libpng-devel gd-devel libxslt-devel

2. 下载并解压PHP7源码

下载PHP7的源码,可以从官网上下载:http://www.php.net/downloads.php

下载完成之后,使用以下命令解压:

tar zxvf php-7.x.x.tar.gz
cd php-7.x.x

3. 编译和安装PHP7

使用以下命令编译PHP7:

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli --with-pdo-mysql --with-iconv-dir --with-zlib --with-jpeg-dir --with-png-dir --with-freetype-dir --with-libxml-dir=/usr --enable-xml --enable-safe-mode --enable-bcmath --enable-calendar --enable-exif --enable-ftp --enable-gd-native-ttf --enable-mbstring --enable-shmop --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --enable-zip --with-curl --with-openssl --with-gettext

编译完成之后,使用以下命令进行安装:

make clean && make -j8 && make install

4. 设置PHP7环境变量

/etc/profile文件中添加以下代码:

export PATH=/usr/local/php/bin:$PATH
export PHP_HOME=/usr/local/php

然后输入以下命令使其生效:

source /etc/profile

5. 配置PHP7支持MySQL

修改/usr/local/php/etc/php.ini文件,找到以下两行代码:

;extension=mysqli.so
;extension=pdo_mysql.so

把分号去掉,变成下面这样:

extension=mysqli.so
extension=pdo_mysql.so

保存修改并重启PHP7,如果没有报错,说明已经支持MySQL了。

6. 常见问题解决办法

a. 出现“error while loading shared libraries: libxxx.so.xxx”错误

这是因为缺少某个共享库,可以使用以下命令安装:

yum install libxxx

如果还是有问题,可以尝试使用以下命令:

ldconfig -v

b. 编译时出现“configure: error: xml2-config not found. Please check your libxml2 installation.”错误

这是因为缺少libxml2库,可以使用以下命令安装:

yum install libxml2 libxml2-devel

示例1:如何安装PHP7且开启opcache

在编译PHP7时,需要加上--enable-opcache选项,示例如下:

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-opcache

如果编译过程中提示缺少opcache.so库,可以尝试使用以下命令安装:

yum install php-opcache

安装完成之后,可以在/usr/local/php/etc/php.ini文件中找到以下几行代码:

opcache.enable=0
opcache.enable_cli=0

把0改为1,即:

opcache.enable=1
opcache.enable_cli=1

保存修改并重启PHP7即可开启opcache。

示例2:如何安装PHP7且支持redis

在编译PHP7时,需要加上--enable-redis选项,示例如下:

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-redis

如果编译过程中提示缺少redis.so库,可以尝试使用以下命令安装:

yum install php-redis

安装完成之后,可以在/usr/local/php/etc/php.ini文件中找到以下一行代码:

;extension=redis.so

把分号去掉,即:

extension=redis.so

保存修改并重启PHP7即可支持redis。

以上就是“CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法”的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 关于mysql中时间日期类型和字符串类型的选择

    首先,需要了解MySQL中的时间日期和字符串类型分别是什么。 时间日期类型包括: DATE: 日期类型,允许的范围为’1000-01-01’到’9999-12-31’。 TIME: 时间类型,以’HH:MM:SS’的格式存储,范围为’-838:59:59’到’838:59:59’。 DATETIME: 日期和时间类型,以’YYYY-MM-DD HH:MM:S…

    database 2023年5月22日
    00
  • SQL Server 2000“设备激活错误”的解决方法

    下面是详细讲解“SQL Server 2000“设备激活错误”的解决方法”的完整攻略: 问题描述 在使用 SQL Server 2000 数据库时,有时候会出现“设备激活错误”的问题。该问题会导致数据无法正常备份或还原,给工作带来不便。下面是具体的错误信息: 设备激活错误:ERROR: 0 : HRESULT = 0x80004002 解决方法 出现“设备激…

    database 2023年5月18日
    00
  • mysql查询获得两个时间的时间差方式

    要查询获得两个时间的时间差,可以使用MySQL内置的时间函数TIMESTAMPDIFF。下面是使用TIMESTAMPDIFF函数获得时间差的详细攻略: 1. 函数格式 TIMESTAMPDIFF(unit,datetime1,datetime2)是MySQL内置的时间函数,它用于计算两个时间之间的间隔。其中,unit参数指定输出结果的单位(秒,分钟,小时,天…

    database 2023年5月22日
    00
  • 快速掌握Node.js环境的安装与运行方法

    下面是快速掌握Node.js环境的安装与运行方法的完整攻略。 安装Node.js环境 Node.js是基于JavaScript的后端编程语言,因此在使用Node.js前需要安装它的环境。 Windows系统 在Node.js的官网(https://nodejs.org/en/)上下载安装包,选择符合你电脑系统的版本。 下载完成后,双击安装包,一直点击“下一步…

    database 2023年5月22日
    00
  • 详解一条update语句是怎样执行原理解析

    下面我将逐步详细讲解一条update语句是怎样执行的。 1. 概述 在数据库中,update语句是用于更新一张表中的数据的。update语句的执行过程可以分为以下三个步骤: 解析和检查update语句:在执行update语句之前,数据库会对语句进行解析和检查,以确保语句的正确性和有效性。 执行update语句:一旦语句被认为是有效的,数据库就会执行该语句来更…

    database 2023年5月22日
    00
  • Neo4j和CouchDB的区别

    Neo4j和CouchDB都是NoSQL数据库,但它们的设计理念和适用场景不同。 Neo4j 设计理念 Neo4j是一个图形数据库,它的设计理念是将数据表示为节点和关系。每个节点代表实体,每个关系代表节点之间的联系。这种方式使得查询任意两个实体之间的关系非常高效,因为查询只需要在关系图中跟踪节点和关系就可以了。 适用场景 Neo4j非常适用于需要处理丰富而复…

    database 2023年3月27日
    00
  • Linux上通过binlog文件恢复mysql数据库详细步骤

    下面是本文的完整攻略: 1. 前置条件 拥有一个已经安装好的 MySQL 数据库,且当前数据库需要启用 binlog 功能。 2. 恢复步骤 步骤 1:获取需要恢复的 binlog 文件和对应的位置信息 执行以下命令获取所有的 binlog 文件列表: $ ll /var/lib/mysql | grep -E ‘^mysql-bin’ 查阅以下命令获取对应…

    database 2023年5月22日
    00
  • MySQL之mysqldump的使用详解

    MySQL之mysqldump的使用详解 mysqldump 是 MySQL 中一个常用的命令行工具,用于备份数据库,恢复数据库和数据迁移等操作。本文将详细介绍 mysqldump 的使用,包括备份和恢复数据库和表。 备份数据库 mysqldump 用于备份整个数据库,可以选择备份某些表,也可以备份所有表。 备份所有表 以下命令备份所有表。 mysqldum…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部