我是设置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)
答案 0 :(得分: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 :(得分:1)
Php是针对错误的mysql lib编译的。
我建议你检查php可执行文件是否与rpm包一起提供。
您也可以尝试一个脏的解决方法,转到libmysqlclient.so.16所在的目录并写入:
ln -s libmysqlclient.so.16 libmysqlclient.so.18
答案 2 :(得分:0)
更好的选择是删除你的php并安装版本5.3.23: