2013-03-04 40 views
5

Tôi đang trong quá trình học Symfony2 cho một dự án mà tôi và một số bạn đang thực hiện, và đang thực hiện hướng dẫn nơi bạn tạo blog trong Symfony2 : http://tutorial.symblog.co.uk/docs/doctrine-2-the-blog-model.htmlKhông thể tạo kết nối cơ sở dữ liệu cho Doctrine2 trong Symfony2 bằng MAMP (Kết nối bị từ chối)

vấn đề

tôi dường như không thể có được Doctrine2 để làm việc. Tôi cung cấp cho các hướng dẫn sau vào Terminal:

php app/console doctrine:database:create 

Và nhận được thông báo lỗi sau:

Không thể tạo cơ sở dữ liệu để kết nối tên symfony SQLSTATE [HY000] [2002] Kết nối từ chối

Thông tin hệ thống

Tôi có một mac chạy Mountain lion và tôi sử dụng MAMP.

Những gì tôi đã làm

tôi đã đi vào trang cấu hình (http://localhost/NameOfProject/web/config.php) và đi đến nơi mà bạn có cấu hình cơ sở dữ liệu của bạn. Ở đó tôi đặt vào đường dẫn, cổng, người dùng, mật khẩu, vv từ trang bắt đầu MAMP.

Những gì tôi đã cố gắng

Một blog Tôi đã xem qua gợi ý để tạo ra một liên kết tượng trưng đến ổ cắm các MAMP mysql bằng lệnh sau:

sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock 

này đã không làm cho các lỗi đi đi cho tôi.

Một số tác phẩm của tôi trong symfony (nếu họ có liên quan)

Từ app/config/config.yml:

parameters: 
    database_driver: pdo_mysql 
    database_host: 127.0.0.1 
    database_port: '8889' 
    database_name: symfony 
    database_user: root 
    database_password: root 
    mailer_transport: smtp 
    mailer_host: 127.0.0.1 
    mailer_user: null 
    mailer_password: null 
    locale: en 
    secret: 0408312e2b9861c0c86dbb7488aceec4296054ec 
    database_path: /Applications/MAMP/tmp/mysql/mysql.sock 

Từ app/config/parameters.yml:

parameters: 
    database_driver: pdo_mysql 
    database_host: 127.0.0.1 
    database_port: '8889' 
    database_name: symfony 
    database_user: root 
    database_password: root 
    mailer_transport: smtp 
    mailer_host: 127.0.0.1 
    mailer_user: null 
    mailer_password: null 
    locale: en 
    secret: 0408312e2b9861c0c86dbb7488aceec4296054ec 
    database_path: /Applications/MAMP/tmp/mysql/mysql.sock 

Các cuộc đàm phán hướng dẫn cập nhật database_ * tùy chọn trong tệp thông số có tại app/config/parameters.ini. Tuy nhiên, tôi không có tệp parameters.ini nằm trong thư mục này! Chỉ parameters.yml.

Edit: Giải pháp:

Tôi đã sử dụng số cổng sai cho MySql. Khi tôi sử dụng 3306 nó đã làm việc.

+2

Bạn có chắc chắn bạn cần chỉ định database_path không? Ngoài ra 'Kết nối bị từ chối' cho thấy máy chủ đã được tìm thấy và không ai đang nghe trên cổng cụ thể đó.Liệu 'mysql' của bạn lắng nghe trên cổng 8889? Cổng 'mysql' chuẩn là 3306 ... –

+0

Cảm ơn bạn rất nhiều, jperovic, điều này đã giải quyết được vấn đề! – Tor

+0

Trừ khi tôi hiểu nhầm điều gì đó, jperovic, có vẻ như câu trả lời của bạn đã được đưa ra làm bình luận, và do đó tôi không thể chính thức "chấp nhận" câu trả lời của bạn. Nhưng cảm ơn rất nhiều anyway !! :) – Tor

Trả lời

8

Tôi đã sử dụng số cổng sai cho MySql. Khi tôi sử dụng 3306, cổng mysql tiêu chuẩn, nó hoạt động. (Cảm ơn bạn jperovic)

+0

Và với Postgres? – sensorario

+0

Đối với những người vẫn không thể giải quyết vấn đề này, hãy thử bật 'Cho phép truy cập mạng vào MySQL' trong cài đặt MAMP. – Boykodev

Các vấn đề liên quan