Heim  >  Artikel  >  Datenbank  >  Wie behebe ich den Fehler „unsichere Verwendung des relativen Rpath libmysqlclient.18.dylib“ unter macOS El Capitan?

Wie behebe ich den Fehler „unsichere Verwendung des relativen Rpath libmysqlclient.18.dylib“ unter macOS El Capitan?

Susan Sarandon
Susan SarandonOriginal
2024-10-25 11:07:30501Durchsuche

How to Fix the

MySQL falsch konfiguriert: Behebung des Fehlers „unsichere Verwendung des relativen Pfads“

Wenn Sie Pythons manage.py-Runserver mit Django ausführen, kann dies passieren stoßen auf den berüchtigten Fehler:

"Unsachgemäß konfiguriert: Fehler beim Laden des MySQLdb-Moduls: dlopen([Pfad zu _mysql.so], 2): Bibliothek nicht geladen: libmysqlclient.18.dylib Grund: unsichere Verwendung des relativen rpath libmysqlclient. 18.dylib in [_mysql.so] mit eingeschränkter Binärdatei"

Ursache:

In macOS El Capitan (10.11) hat Apple den Systemintegritätsschutz eingeführt, der den Schutz einschränkt verhindert, dass Programme wie MySQL gemeinsam genutzte Bibliotheken mit relativen Verweisen auf andere Bibliotheken aufrufen. Dies ist ein Problem, da _mysql.so, eine von MySQLdb benötigte gemeinsam genutzte Bibliothek, einen relativen Verweis auf libmysqlclient.18.dylib enthält.

Lösung:

Bis zur Bibliothek aktualisiert wird, können Sie mit dem Dienstprogramm install_name_tool die Verwendung einer absoluten Referenz erzwingen:

  1. Terminal öffnen.
  2. Stellen Sie sicher, dass sich libmysqlclient.18.dylib in /usr/local/ befindet. mysql/lib/.
  3. Führen Sie den folgenden Befehl aus und ersetzen Sie die Pfade entsprechend:
sudo install_name_tool -change libmysqlclient.18.dylib \
  /usr/local/mysql/lib/libmysqlclient.18.dylib \
  /Library/Python/2.7/site-packages/_mysql.so

Beispiel:

Angenommen, libmysqlclient. 18.dylib befindet sich unter /Users/Applications/My_Applications/My_Applications/MySQL/lib/, der Befehl wäre:

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
  1. Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.
  2. Versuchen Sie erneut, Python auszuführen manage.py runserver, um zu bestätigen, dass das Problem behoben ist.

Hinweis:

Diese Lösung funktioniert möglicherweise erst, wenn Sie auf eine neuere Version von MySQL aktualisieren, die unterstützt Sicherheitsmaßnahmen von macOS El Capitan.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „unsichere Verwendung des relativen Rpath libmysqlclient.18.dylib“ unter macOS El Capitan?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn