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:
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
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!