首页 > 数据库 >php8.0源码编译安装mysqli拓展

php8.0源码编译安装mysqli拓展

时间:2022-09-05 18:22:38浏览次数:76  
标签:8.0 modules mysqlnd php8.0 源码 usr mysqli php

将开发环境web项目上传到CentOS8.0云服务器上后,调用PHP文件报500错误,经排查php环境中不存在mysqli拓展,导致无法使用mysqli_connect()函数;查看phpinfo()页面证实猜想;原因可能是yum安装PHP时默认无mysqli.so文件;

1 查看本地安装的php版本

php -v 

image

2 php官网下载同本机php相同版本的压缩包

mkdir temp
cd temp
# 未找到8.0.20版本的
wget https://www.php.net/distributions/php-8.0.23.tar.gz

tar -zxvf php-8.0.23.tar.gz
cd php-8.0.23

3 安装 mysqli 依赖拓展mysqlnd (phpinfo()显示有此拓展时可跳过)

3.1 查询本地phpize命令文件路径
find / -name phpize

~~ /usr/bin/phpize
3.2 在ext文件夹中找到mysqlnd文件夹,并执行编译
cd ext/mysqlnd
/usr/bin/phpize
# 若上面命令报错误无config.m4文件,可执行:
# cp config9.m4 config.m4
./configure
make & make install

image

编译完成后如下(路径取决于第一步创建的temp文件夹路径):
image

3.3 将mysqlnd.so文件拷贝到php默认加载的module文件夹下
# yum安装的Apache2.4默认为 /usr/lib64/php/modules
cp /usr/lib64/php/modules/temp/php-8.0.23/ext/mysqlnd/modules/mysqlnd /usr/lib64/php/modules

4 安装mysqli拓展

cd ext/mysqli
/usr/bin/phpize
./configure
make & make install
cp /usr/lib64/php/modules/temp/php-8.0.23/ext/mysqlnd/modules/mysqli /usr/lib64/php/modules

5 配置php.ini

# yun直接安装的PHP配置文件php.ini存放在/etc/php.ini
vim /etc/php.ini

如图开启mysqli和mysqlnd拓展(mysqlnd必须需在mysqli前引入):
image
image

6 重启Apache

systemctl restart httpd

若phpinfo()中仍无法看到mysqli拓展,可按照下面步骤操作:

php -m

若控制台打印模块中有mysqli和mysqlnd,则继续执行:

ps -ef | grep "php"

image

kill 203419
systemctl restart httpd

标签:8.0,modules,mysqlnd,php8.0,源码,usr,mysqli,php
From: https://www.cnblogs.com/sqsgoodluck/p/16659116.html

相关文章

  • 源码(chan,map,GMP,mutex,context)
    目录1、chan原理1.1chan底层数据结构1.2创建channel原理1.3写入channel原理1.4读channel原理1.5关闭channel原理1.6总结2、map原理2.1存储结构2.2初始化原理2.3写入......
  • Python源码解析-list对象的底层实现(PyListObject)
    目录简介PyListObject内存管理创建list缓存池管理本文基于Python3.10.4。简介数组是程序中一个十分重要的概念,我们将符合某一特性的多个元素集合在一块形成一个数组,同时......
  • 直播平台搭建源码,实现密码的显示与隐藏功能
    直播平台搭建源码,实现密码的显示与隐藏功能实现思路1.首先我们要先在data中定义一个变量用来控制小图标的显示与隐藏;2.在页面中循环遍历data中的privates(密钥内容),拿到......
  • idea sdk源码分析
    idea中支持编译build,构建语言一般需要一个sdk。1.什么是sdkidea官方原文如下:EveryprojectusesaSoftwareDevelopmentKit(SDK).ForJavaprojects,SDKisreferr......
  • HashMap源码分析
    HashMap1.81、构造函数:赋值负载因子0.75,当负载因子大于0.75时就会发送扩容publicHashMap(){this.loadFactor=DEFAULT_LOAD_FACTOR;//allotherfie......
  • 大家都能看得懂的源码之ahooks useInfiniteScroll
    本文是深入浅出ahooks源码系列文章的第十七篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。简介useInfiniteScroll封装了常见的无限滚动逻辑。......
  • unigui源码路径
    unigui源码路径$(fmsoft)\uniGUI$(fmsoft)\uniGUI\uIndy$(fmsoft)\uniGUI\Source\Core$(fmsoft)\uniGUI\Source\VCL$(fmsoft)\uniGUI\Source\Components$(fmsoft)\u......
  • ASP.NET Core源码,数据结构和算法,
    ASP.NETCore源码:https://github.com/dotnet/aspnetcore#ASP.NETCorehttps://github.com/dotnet/runtime#extend扩展库https://github.com/aspnet/KestrelHttpServer ......
  • DispatcherServlet类源码分析
    DispatcherServlet类结构图 DispatcherServlet源码分析1. 加载配置文件/***Thisimplementationcalls{@link#initStrategies}.*/@Overrideprotecte......
  • 小迪安全D4笔记:基础入门-web源码拓展
    title:小迪安全D4笔记:基础入门-web源码拓展author:TTdate:2022-09-02一、web源码目录结构后台目录模板目录数据库目录数据库配置文件二、web源码脚本类型ASP......