文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  使用 Perl DBI/DBD 介面的問題

2.10.3 使用 Perl DBI/DBD 介面的問題

如果 Perl 報告找不到 ../mysql/mysql.so 模組,問題可能是 Perl 無法找到 libmysqlclient.so 共用函式庫。您應該能夠透過下列其中一種方法解決此問題:

  • libmysqlclient.so 複製到其他共用函式庫所在的目錄 (可能是 /usr/lib/lib)。

  • 修改用於編譯 DBD::mysql-L 選項,以反映 libmysqlclient.so 的實際位置。

  • 在 Linux 上,您可以將 libmysqlclient.so 所在的目錄路徑名稱新增至 /etc/ld.so.conf 檔案。

  • libmysqlclient.so 所在的目錄路徑名稱新增至 LD_RUN_PATH 環境變數。某些系統改用 LD_LIBRARY_PATH

請注意,如果連結器找不到其他函式庫,您可能也需要修改 -L 選項。例如,如果連結器找不到 libc,因為它位於 /lib,而連結命令指定了 -L/usr/lib,則將 -L 選項變更為 -L/lib 或將 -L/lib 新增至現有的連結命令。

如果您從 DBD::mysql 收到下列錯誤,您可能正在使用 gcc (或使用使用 gcc 編譯的舊二進位檔)

/usr/bin/perl: can't resolve symbol '__moddi3'
/usr/bin/perl: can't resolve symbol '__divdi3'

在建置 mysql.so 函式庫時,將 -L/usr/lib/gcc-lib/... -lgcc 新增至連結命令 (在編譯 Perl 用戶端時,檢查 make 的輸出以取得 mysql.so)。-L 選項應指定系統上 libgcc.a 所在目錄的路徑名稱。

此問題的另一個原因可能是 Perl 和 MySQL 並非都使用 gcc 編譯。在此情況下,您可以使用 gcc 編譯兩者來解決不符的問題。