2012-12-21 43 views
2

我設置的crontab:PHP:錯誤而載入共享庫:libmysqlclient.so.18

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

但不執行的PHP代碼!

[[email protected] 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 


[[email protected] mysql]# rpm -qR postfix 

發現:

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

我使用CentOS的管理嚮導

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) 
+1

有一對夫婦的事情,可能是錯的。要麼你沒有安裝mysql客戶端庫。或者,PHP是針對錯誤版本的庫進行編譯的。 – datasage

回答

5

代碼:

#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

感謝所有

1

PHP是反對錯了的mysql的lib編譯。

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

您也可以嘗試一個骯髒的解決辦法,去那裏的libmysqlclient.so.16位於寫的目錄:

LN -s libmysqlclient.so.16 libmysqlclient.so.18

+0

MerC。但不能看到我的版本php。#php -v - >錯誤libmysqlclient.so.18:無法打開....我做了一些你說的但不工作。 –

相關問題