在 centos 7 上用源码安装 php8.2,还要配置 mysql 扩展,对新手来说简直像闯迷宫 —— 命令输错一个字母就报错,缺个文件就卡半天,好不容易装完了,连接数据库时又提示 “找不到 mysql 扩展”。小编第一次折腾的时候,光编译就失败了三次,全是因为没搞懂步骤。今天就把 centos 7 源码安装 php8.2 并配置 mysql 扩展的步骤讲清楚,我们在使用过程中踩过的坑,都会提醒大家,一起往下看吧!
安装前先准备,这些东西不能少
别着急下载源码,先把需要的工具和文件准备好,不然装到一半准卡壳。
- 把系统更新到最新,输入 “yum update -y”,等它跑完。这一步能减少很多兼容性问题,小编之前没更新,结果编译的时候提示 “系统版本太低”。
- 安装必要的工具,比如编译器、库文件,输入 “yum install gcc gcc-c++ make cmake zlib-devel libxml2-devel”,后面还要加一堆类似的名字,记不住的话可以搜 “centos 7 安装 php 依赖包”,复制完整命令。
- 确保 mysql 已经装好了,而且能正常启动。要是 mysql 都没装,后面配置扩展也是白搭,小编就见过有人先装 php,最后发现没装 mysql,白忙活一场。
虽然准备工作看起来麻烦,但做好了能省不少事,这是过来人的经验。
下载 php8.2 源码,步骤别错
准备工作做完,就可以下载源码了,官网就能下,不难找。
- 打开终端,先切换到 /usr/local/src 目录,输入 “cd /usr/local/src”,这个目录专门用来放源码,不容易乱。
- 下载 php8.2 的源码包,输入 “wget https://www.php.net/distributions/php-8.2.0.tar.gz”,要是下载慢,可以换个国内镜像站的链接。
- 下载完后解压,输入 “tar -zxvf php-8.2.0.tar.gz”,会出现一个同名的文件夹,进去看看,里面有个叫 configure 的文件,后面要用。
不过话说回来,下载的时候最好核对一下文件名,别下成 php8.1 或者更早的版本,小编有次就下错了,编译到一半才发现版本不对。
编译安装 php8.2,这一步最关键
编译是最容易出错的地方,命令长,参数多,新手慢慢输别着急。
- 进入解压后的文件夹,输入 “cd php-8.2.0”。
- 输入配置命令,这串命令很长,主要是告诉系统要装哪些功能,比如 “./configure –prefix=/usr/local/php82 –with-mysqli –with-pdo-mysql”,后面还要加其他参数,具体可以参考官网的推荐配置。
- 配置完了输入 “make”,开始编译,这个过程可能要半小时到一小时,电脑配置差的话更久,小编的旧服务器就用了 40 多分钟。
- 编译完输入 “make install”,等着安装完成,最后输入 “/usr/local/php82/bin/php -v”,能看到版本号就说明 php8.2 装好了。
有个地方要注意,配置命令里一定要加 “–with-mysqli” 和 “–with-pdo-mysql”,这两个是 mysql 扩展的关键,忘了加的话,后面还得重新编译,特别麻烦。
配置 mysql 扩展,让 php 和 mysql 连上
php 装好了,还得让它能找到 mysql 扩展,步骤不复杂但容易漏。
- 先找到 php 的配置文件 php.ini,刚安装完可能没有,得从源码文件夹里复制一个,输入 “cp /usr/local/src/php-8.2.0/php.ini-development/usr/local/php82/lib/php.ini”。
- 编辑 php.ini 文件,输入 “vi /usr/local/php82/lib/php.ini”,找到 “extension_dir” 这一行,改成 “extension_dir = “/usr/local/php82/lib/php/extensions/no-debug-non-zts-20220829″”,这个路径里放着所有扩展。
- 再在文件末尾加两行 “extension=mysqli.so” 和 “extension=pdo_mysql.so”,保存退出。
小编第一次配置的时候,忘了改 extension_dir 的路径,结果 php 找不到扩展文件,一直提示错误,查了半天才发现是路径错了。
测试是否成功,这一步别省
装完了一定要测试,不然不知道到底成没成,方法很简单。
- 新建一个 test.php 文件,输入 “”。
- 用 php 运行这个文件,输入 “/usr/local/php82/bin/php test.php”,要是显示 “成功连接 mysql”,就说明成了;要是提示错误,就得回头检查扩展配置。
有人说这样测试不够全面,这或许暗示还需要更复杂的测试,但对新手来说,能连接上 mysql 就算初步成功了。
其实源码安装看起来复杂,熟悉了之后也没那么难。小编觉得,新手最好多试几次,每次出错都记下来,下次就知道怎么解决了。另外,配置 mysql 扩展的时候,具体原理我还没完全搞懂,只知道这么设置能生效,以后再慢慢研究吧。希望这篇教程能帮到大家,要是遇到其他问题,多搜搜多问问,总能解决的。