博客
关于我
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 查找搜索命令
    查看>>
    linux 查看 mongodb 连接数
    查看>>
    linux 查看文件大小及内容
    查看>>
    Linux 查看目录大小
    查看>>
    linux 查看硬盘的uuid_linux添加新硬盘不需要重启识盘,及查看uuid
    查看>>
    linux 查看系统信息命令(比较全)
    查看>>
    Linux 查看系统日志命令
    查看>>
    linux 根目录扩容
    查看>>
    Linux 根目录爆满解决(/dev/mapper/centos-root 100%问题)
    查看>>
    linux 添加微软字体,如何给Ubuntu添加Windows及Mac字体?
    查看>>
    linux 添加本地yum源
    查看>>
    LINUX 游戏服务器之旅4_mongodb环境
    查看>>
    linux 源码搭建lnmp_Linux源码安装lnmp
    查看>>
    Linux 环境下将 ASM 磁盘映射到物理磁盘的完整指南
    查看>>
    Linux 环境下更新 Python
    查看>>
    linux 用户名为没有名字 报错:cannot find name for user ID
    查看>>
    Linux 用户和用户组管理
    查看>>
    Linux 用户被差别对待?无法通过 apple.com 管理 Apple ID
    查看>>
    linux 登录后佛祖保佑
    查看>>
    Linux 的 cat 命令居然有那么多门道,涨知识了!
    查看>>