Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membetulkan Ralat \'penggunaan tidak selamat relatif rpath libmysqlclient.18.dylib\' pada macOS El Capitan?

Bagaimana untuk Membetulkan Ralat \'penggunaan tidak selamat relatif rpath libmysqlclient.18.dylib\' pada macOS El Capitan?

Susan Sarandon
Lepaskan: 2024-10-25 11:07:30
asal
578 orang telah melayarinya

How to Fix the

MySQL Tidak Dikonfigurasikan dengan betul: Menangani Ralat "penggunaan laluan relatif yang tidak selamat"

Apabila menjalankan runserver manage.py Python dengan Django, anda boleh hadapi ralat yang terkenal:

"ImproperlyConfigured: Ralat memuatkan modul MySQLdb: dlopen([path to _mysql.so], 2): Library tidak dimuatkan: libmysqlclient.18.dylib Sebab: penggunaan rpath relatif libmysqlclient yang tidak selamat. 18.dylib dalam [_mysql.so] dengan binari terhad"

Punca:

Dalam macOS El Capitan (10.11), Apple memperkenalkan Perlindungan Integriti Sistem, yang menyekat perlindungan program seperti MySQL daripada memanggil perpustakaan kongsi dengan rujukan relatif kepada perpustakaan lain. Ini adalah isu kerana _mysql.so, perpustakaan kongsi yang diperlukan oleh MySQLdb, mengandungi rujukan relatif kepada libmysqlclient.18.dylib.

Penyelesaian:

Sehingga perpustakaan dikemas kini, anda boleh memaksanya untuk menggunakan rujukan mutlak menggunakan utiliti install_name_tool:

  1. Buka Terminal.
  2. Pastikan libmysqlclient.18.dylib terletak di /usr/local/ mysql/lib/.
  3. Laksanakan arahan berikut, menggantikan laluan dengan sewajarnya:
sudo install_name_tool -change libmysqlclient.18.dylib \
  /usr/local/mysql/lib/libmysqlclient.18.dylib \
  /Library/Python/2.7/site-packages/_mysql.so
Salin selepas log masuk

Contoh:

Andaikan libmysqlclient. 18.dylib terletak di /Users/Applications/My_Applications/MySQL/lib/, arahannya ialah:

sudo install_name_tool -change libmysqlclient.18.dylib \
  /Users/Applications/My_Applications/MySQL/lib/libmysqlclient.18.dylib \
  /Library/Python/2.7/site-packages/_mysql.so
Salin selepas log masuk
  1. Masukkan kata laluan anda apabila digesa.
  2. Cuba jalankan semula python manage.py runserver untuk mengesahkan isu telah diselesaikan.

Nota:

Penyelesaian ini mungkin tidak berfungsi sehingga anda mengemas kini kepada versi MySQL yang lebih baharu yang menyokong langkah keselamatan macOS El Capitan.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'penggunaan tidak selamat relatif rpath libmysqlclient.18.dylib\' pada macOS El Capitan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan