簡體   English   中英

PHP:加載共享庫時出錯:libmysqlclient.so.18

[英]PHP: error while loading shared libraries: libmysqlclient.so.18

我設置了Crontab:

[root@root mysql]# crontab -l
5 *  *  *  *  php /home/admin/public_html/scheduleSendMail.php

但不執行PHP代碼!

[root@root mysql]# php /home/admin/public_html/scheduleSendMail.php 
php: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory


[root@root mysql]# rpm -qR postfix

找 :

..
libmysqlclient.so.16  
libmysqlclient.so.16(libmysqlclient_16)  
..

我正在使用Centos和DirectAdmin

PHP v: php-5.3.3-14.el6_3.i686
mysql v: mysql-5.1.66-2.el6_3.i686
centos v: CentOS release 6.3 (Final)

碼:

#ls -l /usr/lib/mysql | grep libmysqlclient.so

輸出:

lrwxrwxrwx 1 root root      24 Dec 21 21:41 libmysqlclient.so -> libmysqlclient.so.16.0.0
lrwxrwxrwx 1 root root      24 Dec 21 21:41 libmysqlclient.so.16 -> libmysqlclient.so.16.0.0
-rwxr-xr-x 1 root root 1524000 Dec  7 18:27 libmysqlclient.so.16.0.0

#ln /usr/lib/mysql/libmysqlclient.so.16.0.0  /usr/lib/mysql/libmysqlclient.so.18

不行 !

但是:

#ln /usr/lib/mysql/libmysqlclient.so.16.0.0  /usr/lib/libmysqlclient.so.18

它的工作非常好:D

謝謝大家

PHP是針對錯誤的mysql lib編譯的。

我建議您檢查php可執行文件是否與rpm軟件包一起提供。

您也可以嘗試使用骯臟的解決方法,轉到libmysqlclient.so.16所在的目錄並輸入:

ln -s libmysqlclient.so.16 libmysqlclient.so.18

更好的選擇是刪除您的php並安裝5.3.23版本:

  1. 百勝刪除PHP
  2. wget http://repo.webtatic.com/yum/centos/5/latest.rpm
  3. rpm -ivh Latest.rpm
  4. 啟用webtatic存儲庫並禁用rhea存儲庫(/etc/yum.repos.d/)
  5. 百勝安裝PHP

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM