2

私は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)
4

3 に答える 3

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

皆さんありがとう

于 2012-12-23T10:37:01.000 に答える
1

PHPは間違ったmysqllibに対してコンパイルされます。

php実行可能ファイルがrpmパッケージで提供されているものであるかどうかを確認することをお勧めします。

ダーティな回避策を試すこともできます。libmysqlclient.so.16が配置されているディレクトリに移動して、次のように記述します。

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

于 2012-12-21T17:30:16.910 に答える
0

より良いオプションは、phpを削除してバージョン5.3.23をインストールすることです。

  1. yum removephp
  2. wget http://repo.webtatic.com/yum/centos/5/latest.rpm
  3. rpm -ivhlatest.rpm
  4. webtaticリポジトリを有効にし、rheaリポジトリを無効にします(/etc/yum.repos.d/)
  5. yum install php
于 2013-04-23T08:42:14.033 に答える