在/ usr下找不到libmysqlclient.在Ubuntu 12.4上从源代码构建PHP 5.2

far*_*zam 12 php installation ubuntu

我试图使用此配置PHP 5.2.17从源代码构建Ubuntu 12.4 64bit:

./configure --prefix=/opt/php5.2 --with-config-file-path=/opt/php5.2 --with-mysql 
Run Code Online (Sandbox Code Playgroud)

但我一直收到这个错误:

configure: error: Cannot find libmysqlclient under /usr.
Note that the MySQL client library is not bundled anymore!
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这个问题?

EDIT1:我最小化了configure命令,所以它只关注mysql.我也在运行64位版本的ubuntu.

EDIT2:尝试运行ldconfig -v |grep mysql,这是输出

# ldconfig -v |grep mysql
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Cannot stat /usr/lib/x86_64-linux-gnu/libnss_db.so: No such file or directory
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
libmysqlpp.so.3 -> libmysqlpp.so.3.1.0
Run Code Online (Sandbox Code Playgroud)

far*_*zam 19

Thanx @hakre的帮助.这是我使用的命令,它的工作原理如下:

sudo ./configure --prefix=/opt/php5.2 --with-config-file-path=/opt/php5.2 --with-mysql --with-libdir=/lib/x86_64-linux-gnu
Run Code Online (Sandbox Code Playgroud)

  • @hakre使用`locate libmysqlclient`找出文件的位置,然后指定确切的位置. (3认同)
  • 谢谢你.只是要注意我的安装,如果它可以帮助任何人,locate会显示它在/ usr // lib/x86_64-linux-gnu但它说如果我在前面包含/ usr仍然会丢失,所以它似乎确实使用路径相对到/ usr. (2认同)

小智 5

也许对于一些可怜的灵魂,这会起作用:

./configure --with-apxs2 = / usr / sbin / apxs --with-mysql = mysqlnd --with-mysqli = mysqlnd --with-pdo-mysql = mysqlnd