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 截取字符串函数的sql语句

    MySQL 截取字符串函数可以用于截取字符串的其中一部分或者去除字符串的某些部分。常用的 MySQL 截取字符串函数有 SUBSTR、LEFT、RIGHT 和 MID。下面是详细的攻略: SUBSTR 函数 SUBSTR 函数可以截取一个字符串的其中一部分,并返回截取后的新字符串。使用 SUBSTR 函数的 SQL 语句如下: SELECT SUBSTR(字…

    database 2023年5月22日
    00
  • MySQL 整体架构介绍

    MySQL 是当前最流行的开源数据库管理系统,其整体架构由以下几个组件构成: 连接器(Connector) 连接器负责处理客户端连接请求,并验证用户身份。当客户端连接到MySQL服务器时,连接器会接受客户端的请求,进行认证和权限控制。如果连接成功,连接器就会为该客户端创建一个线程,并把该线程的信息存储在会话信息(Session Information)中,以…

    database 2023年5月19日
    00
  • 浅谈数据库索引的作用及原理

    浅谈数据库索引的作用及原理 简介 在数据库查询时,查询的数据量可能很大,甚至可能有成千上万的记录。若没有索引,数据库查询必将使得查询的速度变得极慢,系统处理效率也会变得很低。因此,对于数据库而言,建立索引可以快速定位需要查询的数据,提高查询速度的同时还可以降低数据库的负载。 索引的定义 索引是一种数据结构,它可以提高数据的查询速度。 索引通常是一个表(或视图…

    database 2023年5月19日
    00
  • Python使用Redis的完整攻略

    本文将详细讲解Python使用Redis的完整攻略。Redis是一款高性能的缓存系统,常用于解决应用系统瓶颈问题。在Python中,使用Redis可以很方便地实现缓存机制。 安装Redis 在使用Redis之前,需要先安装Redis。可以通过以下命令安装Redis: sudo apt-get install redis-server 或者通过官网下载Redi…

    Redis 2023年3月21日
    00
  • MySQL GRANT:用户授权方法详解

    MySQL GRANT 命令是 MySQL 数据库中最重要的命令之一,用于授权用户相关数据库操作的权限。通过 GRANT 命令,可以实现对数据库对象(如数据库、数据表、视图等)的不同级别的访问控制和权限分配。 在 MySQL 中,我们可以使用 GRANT 命令将权限授予一个用户,这个用户可以是本地用户,也可以是远程用户。下面对 MySQL GRANT 命令进…

    MySQL 2023年3月10日
    00
  • 根据mysql慢日志监控SQL语句执行效率

    当我们使用MySQL数据库时,随着时间的推移,数据库中的数据量逐渐增大,SQL查询语句的效率也会逐渐变差,因此我们需要对SQL查询语句进行监控和分析,以便及时发现性能瓶颈并进行优化。本文将介绍如何通过MySQL慢日志监控SQL查询语句的执行效率。 1. 开启慢日志功能 在MySQL配置文件中,找到以下两个配置项,将它们的值改为相应的数值,即可开启MySQL慢…

    database 2023年5月22日
    00
  • Adabas 和 Aerospike 的区别

    Adabas和Aerospike都是流行的NoSQL数据库系统,但它们有着不同的特点和应用场景。 Adabas 简介 Adabas是一种高性能的事务处理型数据库管理系统,主要面向大型企业和机构。它支持大容量的数据存储和处理,能够高效地存储和检索事务数据。Adabas提供了强大的事务处理能力和可靠性,能够处理高并发的交易场景。 特点 高性能:Adabas采用先…

    database 2023年3月27日
    00
  • Go http client 连接池不复用的问题

    Go HTTP client 连接池不复用的问题可能会导致应用程序性能下降,因此需要进行及时的优化和解决。下面将介绍一些应对该问题的具体步骤。 1. 使用全局变量保存HttpClient对象 在已知 HttpClient 对象的场景下,建议将其存储在全局变量中,并在需要使用时从该变量中获取。这样可以确保多次使用同一个 HTTP 域名时复用连接池。以下是示例代…

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