Tôi đã phát triển ứng dụng của mình ban đầu trong Laravel 4.2 nhưng đã quyết định chuyển sang phiên bản 5.0 để nó bao gồm nhiều thay đổi và điểm mạnh hơn 5.0 có trên 4.2.PHP Artisan Migrate với MAMP và Unix Socket
Tôi cố gắng để chạy migratiosn của tôi tuy nhiên tôi nhận được lỗi:
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
Tôi nhìn vào này và nhận thấy như thế nào đó là vì tôi đang chạy MAMP cho máy chủ của tôi thay vì lang thang và nhà cửa vườn tược. Tôi không gõ vào việc sử dụng hai cái đó nhưng tôi vào thời điểm này cảm thấy thoải mái hơn với MAMP cho đến khi nó thất bại. Lý do tôi biết MAMP của nó là do cần khai báo giá trị socket unix được sử dụng.
Bây giờ trên phiên bản 4.2 của tôi về ứng dụng của tôi, tôi có như sau:
'mysql' => array(
'driver' => 'mysql',
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'host' => getenv('DB_HOST'),
...
),
Với Laravel 5.0 phiên bản của tôi, tôi đang làm cho việc sử dụng tập tin .env cho các biến môi trường của tôi và không chắc chắn làm thế nào tôi cần phải làm gì điều này để nó biết sử dụng giá trị socket unix.
Bạn có thể cho tôi biết cách tôi nên áp dụng điều này vào phiên bản mới hay cách tốt hơn để thêm nó vào cài đặt để tôi không phải làm vậy?
và bạn có chắc chắn rằng ổ cắm unix ở vị trí này không? bạn đã cài đặt MAMP ở một vị trí không mặc định? –
Có và tôi biết điều đó là chính xác. – user3732216
có để làm gì? Tôi dám nói rằng không có tập tin có tên 'mysql.sock' trên máy tính của bạn tại địa điểm được chỉ định. Máy tính không phạm sai lầm về điều đó. Nếu nó nói không có tập tin ở đó, đó là bởi vì không có tập tin ở đó.Nếu bạn đã cài đặt MAMP của mình ở một vị trí không mặc định, bạn có thể giải quyết vấn đề bằng cách cập nhật cấu hình của bạn với đường dẫn tốt đến tệp 'mysql.sock', nhưng bản thân MAMP không khuyên bạn cài đặt phần mềm của họ ở một nơi khác, bởi vì nhiều vấn đề như vậy như thế này sẽ phát sinh. –