博客
关于我
linux 让php支持mysql_转 linux下php扩展mysqli的支持
阅读量:790 次
发布时间:2023-02-02

本文共 1375 字,大约阅读时间需要 4 分钟。

修复"Class 'mysqli' not found" 错误:重新编译PHP扩展

遇到“Class 'mysqli' not found” 错误时,查明问题根源并修复是技术工作者的日常任务之一。以下是针对此错误的一次实践经历和解决过程。

问题背景

前两天,一个站点转移过来,由于数据库问题,未能妥善处理。今天在检查数据库时,发现依然无法正常使用,错误提示为“fatal error: Class 'mysqli' not found”。进一步调查发现,问题源于PHP编译时未包含mysqli扩展支持。

实施解决方案

第一步:重新编译PHP和mysqli扩展

  • 下载PHP源码

    首先,需要下载对应的PHP版本源码。在此案例中,我们选择PHP 5.2.8版本。

    cd /usr/local/php5-5.2.8
  • 编译PHP扩展

    PHP编译过程中,需要在ext目录下找到相应的扩展文件。具体操作如下:

    cd /usr/local/php5-5.2.8/ext/mysqli
  • 使用phpize生成配置文件

    已安装PHP的php5目录下,包含phpize可执行文件,可用于生成自定义配置。

    /usr/local/php5/bin/phpize

    运行完成后,会自动生成configure文件。

  • 配置mysqli扩展

    根据生成的configure文件,添加以下参数:

    ./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/php5/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config

    firmaEnter并等待配置完成。

  • 编译扩展

    按照提示执行编译命令:

    makemake testmake install

    成功编译后,将生成mysqli.so文件,通常位于:

    /usr/local/php5/lib/php/extensions/no-debug-non-zts-20041030/
  • 第二步:加载mysqli扩展

  • 修改php.ini文件

    打开PHP配置文件,找到如下两行,将它们修改或新增:

    extension_dir="/usr/local/php5/ext"extension=mysqli.so

    保存修改后的文件。

  • 安装mysqli扩展

    mysqli.so文件复制到指定扩展目录:

    cp /usr/local/php5/lib/php.extensions/no-debug-non-zts-20041030/mysqli.so /usr/local/php5/ext/
  • 重启服务器

    为了使更改生效,需要重启网页服务器(如Apache)。

    sudo systemctl restart apache2
  • 验证

    完成以上步骤后,访问网站页面,检查数据库连接是否正常,预期should看到如下的Confirmation message:

    $mysqli = new mysqli("localhost", "用户名", "密码", "数据库名");

    功能正常的情况下,应该无任何错误提示。

    如果在前期步骤中遇到问题,建议参考PHP官方文档或相关社区资源。如问题依旧无法解决,可提供详细日志获取进一步分析。

    转载地址:http://qewfk.baihongyu.com/

    你可能感兴趣的文章
    linux 解压多个zip文件,Linux同时解压多个压缩档案的方法
    查看>>
    Linux 计划任务详解
    查看>>
    Linux 计划任务详解
    查看>>
    linux 让php支持mysql_转 linux下php扩展mysqli的支持
    查看>>
    Linux 设置/删除环境变量
    查看>>
    linux 访问mysql
    查看>>
    linux 读写权限
    查看>>
    linux 超好用的命令行工具
    查看>>
    Linux 跑机器脚本与工具详解
    查看>>
    Linux 软件 RAID 设置
    查看>>
    Linux 软件安装与卸载
    查看>>
    Linux 软硬链接详解:深入理解与实践
    查看>>
    Linux 输入重定向和管道符号
    查看>>
    Linux 运维王者从不离手的10款工具,全用过会变成高手?
    查看>>
    linux 运行.sh 让其执行其中的Python文件
    查看>>
    Linux 运行SHELL报错“-BASH: ./TEST.SH: /BIN/BASH^M: BAD INTERPRETER: NO SUCH FILE OR DIRECTORY”
    查看>>
    Linux 这4个进程相关的命令,太好用!
    查看>>
    Linux 进程信号的基本概念、信号类型、信号处理方式、信号传递机制以及如何使用进程信号进行进程间通信、异常处理
    查看>>
    Linux 进程和系统监测
    查看>>
    linux 进程控制入门
    查看>>