MySQL 127.0.0.1 ile çalışan ama localhost ile çalışmıyor?

7 Cevap php

Ben php MySQL garip bir sorun var:

php 127.0.0.1 değil ile localhost ile bağlanır.

Bu sorunu çözmek için?

7 Cevap

localhost Windows ve çoğu işletim sisteminde varsayılan olarak sizin hosts dosyasına, tanımlanmış olmalıdır.

Aşağıdaki metin dosyasını kontrol edin ve ne var ne yok görmek:

C:\WINDOWS\system32\drivers\etc\hosts

Bu bir klasör değil, "ana" dosyası hiçbir uzantısı unutmayın. Eğer yeni girişleri aşağıda yaşlı olanlar, rağmen ya AV / spam engelleyici, orada çöp yazmıştır 127.0.0.1 veya kötü kötü amaçlı yazılım işaret girişlerin bir ton ekledi girdileri görürseniz bu dosya, hemen hemen boş olmalıdır. Localhost bu dosyadaki ilk giriş olmalıdır.

Komut satırında ping localhost deneyin, 127.0.0.1 için ::1: IP6 eşdeğer çözümlüyor olabilir

, Bunu düzeltmek eklemek (veya yorumsuz) hattı:

   127.0.0.1       localhost

in C:\WINDOWS\system32\drivers\etc\hosts

Ayrıca kullanıcı erişim ayrıcalıklarını tanımlayan MySQL veritabanı içine bir göz var. Belirli bir kullanıcı bağlanmaya izin verilen kaynak barındıran orada tanımlayabilirsiniz. Sen http://dev.mysql.com/doc/refman/5.1/en/connection-access.html daha fazla bilgi için danışabilirsiniz

Ben hatırlıyorum Windows Mysql uzun süredir devam eden ve belgelenmiş özellik olmak. Yerel yuva çalışmaz veya bu şekilde bir şey hakkında bir şey.

Deneyin:

IE -> Araçlar -> Seçenekler -> Bağlantı -> Yerel Ağ Ayarları Yerel adresler için proxy edin

Mac'ler için, burada çözüm:

Bir MAC yerine 127.0.0.1 ve localhost kullanarak MySQL bağlanın. Şimdi ben 127.0.0.1 ile benim geliştirme platformunda MySQL bağlanırken oldum Uzunca bir nedense localhost için işe yaramadı çünkü. 127.0.0.1 TCP / IP kullanan ve localhost yuva kullanır çünkü bu çıkıyor. Böylece tüm yapmanız gereken değiştirmek mysql.sock için yanlış yere php.ini puan dosyası olduğunu, apache ve işte yeniden!

Open php.ini: /private/etc/php.ini
Find the following line: mysql.default_socket = /var/mysql/mysql.sock
Replace with: mysql.default_socket = /tmp/mysql.sock
Restart apache: apachectl restart

Not: Eğer bir php.ini dosyası yoksa, sen php.ini.default denilen sağlanan varsayılan kopyalamanız gerekir

sudo cp /private/etc/php.ini.default /private/etc/php.ini

ile http://madproject.com/general/connect-to-mysql-using-localhost-instead-of-127-0-0-1-on-a-mac/

IPv4 karşı, ve MySQL v4 adresi dinlemiyor gibi localhost, IPv6 adresi çözümlüyor mı?

Çözüm v4 adresine localhost kararlılığını yapmak, OR MySQL v6 adresini dinleyecek olun.