2010-10-01 5 views
9

मैं सिम्फनी ट्यूटोरियल जॉबेट पर काम कर रहा हूं और मुझे सिद्धांत के माध्यम से MySQL-डेटाबेस में डेटाबेस कनेक्शन प्राप्त करने में समस्याएं हैं। विकास पर्यावरण: मैक ओएस एक्स और एक्सएएमपीपी।symfony में सिद्धांत के माध्यम से कोई डेटाबेस कनेक्शन

Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in /Users/xx/projects/myproject/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 470
PDO Connection Error: SQLSTATE[HY000] [2002] No such file or directory

database.yml में डेटाबेस सेटिंग्स:

all: 
    doctrine: 
    class: sfDoctrineDatabase 
    param: 
     dsn: 'mysql:host=localhost;dbname=my_project_db' 
     username: root 
     password: root 

MySQL चल रहा है

आदेश php symfony doctrine:build-schema मुझे निम्न त्रुटि संदेश देता है। उपयोगकर्ता नाम और पासवर्ड सही हैं। डेटाबेस 'my_project_db' मौजूद है।

क्या कोई मुझे संकेत दे सकता है कि क्या गलत हो रहा है?

+0

क्या /var/mysql/mysql.sock फ़ाइल मौजूद है? यदि नहीं है तो पता लगाने के द्वारा उस फ़ाइल को खोजने का प्रयास करें। – greg0ire

+0

हां। यह/अनुप्रयोग/एक्सएएमपीपी/xamppfiles/var/mysql/ – skanne

उत्तर

14

अपने mysql.sock को /var/mysql में एक सिमलिंक बनाने के लिए प्रयास करें:

sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql /var/mysql 
+0

thx में एक खाली फ़ाइल है। यह काम करता है। – skanne

+0

सुडो एलएन-एस/एप्लीकेशन/एक्सएएमपीपी/xamppfiles/var/mysql/var/mysql – anggriawan

+0

@anggriawan: संकेत के लिए धन्यवाद –

3

मैं पर मेरे एप्पल मैक एक ही समस्या थी और निम्नलिखित किया:

cd /var; sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql/ mysql 

मेरे लिए काम किया।

12

या MAMP

cd /var; sudo ln -s /Applications/MAMP/tmp/mysql mysql 
3

मैक OSX शेर पर साथ:

cd /var; 
sudo mkdir mysql; cd mysql; 
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock 
1

यही बात मुझे क्या हुआ और मैं का उपयोग MAMP प्रो। यदि आप एमएएमपी प्रो का उपयोग करते हैं, तो इसकी मुख्य विंडो की जांच करने लायक है। "MySQL" टैब को देखें, और उसके बाद "केवल स्थानीय पहुंच की अनुमति दें" चेकबॉक्स देखें। यदि यह चेक किया गया है, तो आपको इसे अनचेक करना चाहिए। अंत में, "लागू करें" बटन पर क्लिक करें।