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


MySQL 8.4 參考手冊  /  ...  /  使用 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 編譯來解決不符問題。