当前位置: 首页 > 编程笔记 >

编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法

谈萧迟
2023-03-14
本文向大家介绍编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法,包括了编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法的使用技巧和注意事项,需要的朋友参考一下

今天在64位Red Hat Enterprise Linux AS release 4 .7上编译PHP5.2.6出错,mysql是使用的RPM方式安装的,PHP编译代码如下:

./configure --prefix=/usr/local/php --with-mysql --with-apxs2=/usr/local/apache/bin/apxs --with-openssl --with-curl --enable-xml --with-mcrypt --with-ttf --enable-magic-quotes --enable-fastcgi --enable-mbstring --with-iconv --enable-mbstring --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-sysvsem出现以下错误:checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... no
configure: error: Cannot find libmysqlclient under /usr.
Note that the MySQL client library is not bundled anymore!

通过查找libmysqlclient,发现是在/usr/lib64/mysql/目录内的libmysqlclient.so.16.0.0做的软连接,PHP默认是去的 /usr/lib/搜索,所以没有找到.找到问题了就好解决了.

类似的问题还有:

/usr/lib/libjpeg.so -> /usr/lib64/libjpeg.so

解决方法

1.

cp -rp /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so

2.

/usr/lib64/libmysqlclient.so -> libmysqlclient.so.16.0.0/usr/lib/libmysqlclient.so -> /usr/lib64/libmysqlclient.so
checking whether to enable embedded MySQLi support… no
checking for mysql_set_server_option in -lmysqlclient… no
configure: error: wrong mysql library version or lib not found. Check config.log for more information

经过测试后, 发现如下解决方案:

(php-xxxxx为php文件名, 代表路径)

# cd /usr/local/src/php-xxxxx/ext/mysqli
# yum -y install mysql-devel
# /phpize
# ./configure –with-php-config= /php-config –enable-embedded-mysqli=shared –enable-shared
# make
# make install

这时屏幕会打印mysqli.so生成的路径, 在php.ini里加载就好啦

/usr/bin/ld: cannot find -lmysqlclient
 类似资料:
  • 本文向大家介绍laravel执行php artisan migrate报错的解决方法,包括了laravel执行php artisan migrate报错的解决方法的使用技巧和注意事项,需要的朋友参考一下 报错一 原因是php.ini 扩展"php_pdo_mysql.dll"没开启 报错二 数据库编码改为utf8mb4 报错三 加上两行代码即可 以上这篇laravel执行php artisan m

  • 问题内容: 我在Java编译器中遇到一个错误,该错误中提交用于编译的文件顺序可能导致代码无法编译。我对代码进行了深入研究,以找出可以重现该问题的最小代码量,从而生成了三个源文件(每个源文件一个类)。 通过以特定顺序使用javac参数可以重现该问题。简而言之,为了成功,必须始终在使用该Actions类的Program类之前对其进行编译,否则javac不能以一种明智的方式对其进行处理: 发生编译错误时

  • 本文向大家介绍PHP编译安装时常见错误解决办法,包括了PHP编译安装时常见错误解决办法的使用技巧和注意事项,需要的朋友参考一下 This article is post on https://coderwall.com/p/ggmpfa configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 di

  • 本文向大家介绍c++ minicsv库的编译错误与解决方案,包括了c++ minicsv库的编译错误与解决方案的使用技巧和注意事项,需要的朋友参考一下 有一个项目需要写csv文件以呈现数据。Github上有一个关于csv的轻量级读写库minicsv,于是下载之。但是编译example时出现了以下问题: In file included from example.cpp:1:0: minicsv.h

  • 本文向大家介绍maven deploy时报错的解决方法,包括了maven deploy时报错的解决方法的使用技巧和注意事项,需要的朋友参考一下 今天在发布maven工程的时候,很奇怪,因为在本地package,install等等都没问题,但是打包的时候就是报错,日志如下: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-d

  • E立方管理平台表单填报时超链接不能使用,点击这些超链接出现“由于本机的限制,该操作已被取消,请与系统管理员联系”的提示,可用以下方法解决: 一、Office 2003       解决方法:IE - 工具 - Internet选项,点“程序”,在“默认的WEB浏览器”中点“设为默认值”,就可以解决这个问题,在EXCEL中点链接不再提示“由于本机的限制,该操作已被取消,请与系统管理员联系”这个信息了