cents OS7配置 php curl.so方法

在配置云服务器centOS7的时候遇到诸多问题
显示发现php -v 版本和phpinfo不同,前者是PHP5.4 后面是最新安装的PHP7.1
解决版本问题又安装了curl拓展包后依然不行

一、版本问题

1.查找系统里PHP相关目录,寻找两个版本的位置
find / -name php
/var/lib/php
/usr/bin/php
/usr/lib64/php
/usr/share/swig/2.0.10/php
/usr/share/php
/usr/include/php-zts/php
/usr/include/php
/usr/local/bin/php
/usr/local/include/php
/usr/local/lib/php
/usr/local/php
2.查看列出的PHP的版本信息
/usr/local/bin/php -v

PHP 5.4.17 (cli) (built: Sep 21 2017 10:27:13)
Copyright © 1997-2013 The PHP Group
/usr/bin/php -v

PHP 7.2.6 (cli) (built: Jun 2 2018 07:49:42) ( NTS )
Copyright © 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright © 1998-2018 Zend Technologies
3.因为5.4.17版本php在/usr/local/bin/下,所以删除/usr/local/bin/目录下的所有PHP相关的目录或文件
cd /usr/local/bin/

ls

courierauthconfig c_rehash parl par.pl peardev phantomjs phar.phar php-cgi phpize scandeps.pl zipdetails

crc32 openssl parldyn pear pecl phar php php-config pp tkpp

rm -rf ./php

rm -rf ./php-cgi
4.环境变量中加上正确PHP版本的路径
vim /etc/profile
文件末尾加上 export PATH="/usr/local/php/bin:$PATH"
5.执行

source /etc/profile
6.查找PHP加载的配置文件
查找php.ini配置文件 :find / -name php.ini
/etc/php.ini
/usr/local/php/etc/php.ini
发现有两个

php -i|grep php.ini
Configuration File (php.ini) Path => /usr/local/php/etc
Loaded Configuration File => /usr/local/php/etc/php.ini
加载是对的

二、curl拓展库问题

Call to undefined function curl_init();

查看配置
cd /usr/local/php/etc
vi php.ini

命令行下按 / 输入搜索内容回车 n下一个 N上一个

配置php.ini中发现extension=php_curl.dll

发现extension注释中既有.dll又有.so

而.dll是windows的拓展库,.so才是linux的

所以无视上面的注释,在下面添加一条
extension=curl.so

进入cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303
查看目录下文件ls

opcache.a opcache.so pdo_mysql.so redis.so
并没有想要的curl.so
所以调试php -v 会显示No found curl.so

1.确定是否已下载curl拓展库
输入命令:yum install curl

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Package curl-7.29.0-51.el7.x86_64 already installed and latest version
Nothing to do
显示已经是最新版了,但是拓展库中实际并没有.so文件

确定你的PHP安装目录 /usr/local/php/

找到你的PHP源代码目录
忘了在哪,用find / -name php
在/usr/local/src/php-7.1.24/

进入etc目录下再进入curl目录 /usr/local/php/etc/curl
接下来就是
调用phpize程序生成编绎配置文件
/usr/local/php/bin/phpize

调用configure生成Makefile文件
./configure --with-php-config=/usr/local/php/bin/php-config
回车

**调用make编译
make
**
make install 安装
make install

再回到
cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303
发现
curl.so opcache.a opcache.so pdo_mysql.so redis.so

输入php -v
PHP 7.1.24 (cli) (built: Nov 24 2018 18:18:11) ( NTS )
Copyright © 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright © 1998-2018 Zend Technologies
通过

本文参考:
在下刘彦直https://www.cnblogs.com/paddygege/p/6520693.html
one312https://blog.csdn.net/one312/article/details/80710366

知识拓展 Linux使用phpize安装php拓展库
小蒋不素小蒋https://www.cnblogs.com/xjnotxj/p/6125305.html

猜你喜欢

转载自blog.csdn.net/xiedongze__/article/details/88075360