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

yizhihongxing

下面是“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日

相关文章

  • SQL Server 服务由于登录失败而无法启动

    当 SQL Server 服务无法启动并提示“登录失败”时,通常是由于以下原因之一: SQL Server 服务的登录凭据无效或已更改; SQL Server 服务使用的账户没有足够的权限。 为了解决这个问题,我们可以按照以下步骤进行: 检查 SQL Server 服务登录凭据是否有效:打开服务管理器,找到 MSSQLSERVER 服务(或其他 SQL Se…

    database 2023年5月21日
    00
  • MySQL 索引和数据表该如何维护

    MySQL 是一款开源的关系型数据库管理系统,索引和数据表的维护对于数据库的性能、可靠性和安全性等方面都有着重要的影响。在本篇文章中,将详细讲解 MySQL 索引和数据表该如何维护,包括索引的创建、优化和删除以及数据表的备份、优化和压缩等内容。 一、MySQL 索引的维护 1. 索引的创建 在 MySQL 中,可以通过创建索引来提高查询效率。索引可以基于一个…

    database 2023年5月19日
    00
  • 在登录触发器错误情况下连接SQL Server的方法

    连接SQL Server时,常见的几种错误情况包括用户名或密码错误、路径错误、无法连接到目标主机等。本文将针对登录触发器错误情况下连接SQL Server的方法进行讲解。 什么是登录触发器? 在SQL Server数据库中,可以通过创建登录触发器来对登录进行控制。当用户尝试进行登录时,系统会先调用登录触发器,根据触发器的设定判断用户能否登录,并给出相应的权限…

    database 2023年5月21日
    00
  • Ubuntu 20.04.2 发布,包括中国版的优麒麟

    下面我详细讲解一下“Ubuntu 20.04.2 发布,包括中国版的优麒麟”的完整攻略。 什么是 Ubuntu 20.04.2? Ubuntu 是一个基于 Debian Linux 发行版的开源操作系统。Ubuntu 20.04 是 Ubuntu 官方最新的长期支持版本,具有稳定性和安全性优秀的特点。Ubuntu 20.04.2 是 Ubuntu 20.04…

    database 2023年5月22日
    00
  • MongoDB投影(查询指定的字段)方法详解

    什么是投影 在MongoDB中,投影是一种查询方式,它允许我们从文档中选择一小部分字段,以便返回更少的数据量。这对于减少网络带宽和提高查询效率非常有用。 在查询中,可以通过在find()函数中传递第二个对象参数来实现投影。这个对象参数描述了我们想要返回的字段,以及我们希望它们是如何进行排序的。 如何使用投影 在使用投影时,我们需要指定要返回的字段名,或者使用…

    MongoDB 2023年3月14日
    00
  • Linux关于透明大页机制的介绍

    下面就为大家详细讲解“Linux关于透明大页机制的介绍”的完整攻略。 什么是透明大页? 透明大页是Linux内核提供的一种大页机制。透明大页主要是针对多进程应用程序,通过将多个小页映射到同一个物理页框中,降低页表项的数量和TLB(快表)的负载,从而提高应用程序的性能。 如何启用透明大页? Linux内核4.0及以上版本自带了透明大页的支持,如果要启用透明大页…

    database 2023年5月21日
    00
  • 如何使用Python在MySQL中使用行级锁?

    在MySQL中,行级锁是一种用于控制并发访问的机制,它可以确保多个用户同时访问同一行时不会发生冲突。在Python中,可以使用MySQL连接来执行行级锁查询。以下是在Python使用行级锁的完整攻略,包括行级锁的基本语法、使用行级锁的例以及如何在Python中使用行。 行级锁的基本语法 在MySQL中,可以使用SELECT语句来获取行级锁。以下是行级锁的基语…

    python 2023年5月12日
    00
  • 玩转PostgreSQL之30个实用SQL语句

    首先,针对题目“玩转PostgreSQL之30个实用SQL语句”的完整攻略,我建议按照以下步骤进行讲解: 1. 引言 在引言中,可以简单介绍一下本文主要讲解的内容,即「玩转PostgreSQL之30个实用SQL语句」,以及本文的目的和作用。 2. PostgreSQL基础知识 为了更好地理解和掌握本文所述的30个实用SQL语句,需要先掌握一些PostgreS…

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