Mac php 장인 마이그레이션 오류에서 Larabel 설정:해당 파일 또는 디렉터리가 없습니다.
- Git에서 MAMP를 실행하는 Mac으로 완벽하게 작동하는 라라벨 프로젝트를 가져왔습니다. 프로젝트는 Linux 머신에서 완벽하게 실행되었습니다.
- 컴포저 설치
php 장인의 이행으로 다음 오류가 발생하였습니다.
[PDOException] SQLSTATE[HY000] [2002] No such file or directory
NB: php - v는 5.5, mysql - v는 5.5 입니다.이것은 제 설정/데이터베이스의 일부입니다.php
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'essays',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
localhost를 127.0.0.1로 교체하려고 했지만 사용할 수 없었습니다.제발 도와주세요..
편집: 이 세 줄을 php.ini에 추가했습니다.
mysql.default_socket = /var/run/mysqld/mysqld.sock
mysqli.default_socket = /var/run/mysqld/mysqld.sock
pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock
다음 심볼 링크도 추가했습니다.
sudo mkdir /var/mysql
cd /var/mysql && sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
하지만 그것은 해결되지 않았다.또한 git에서 새로운 라라벨 프로젝트를 가져와서 같은 오류가 발생하였습니다.composer install
그리고나서php artisan migrate
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
Mac 버전은 10.7.4 입니다.
MAMP 를 사용하는 경우는, 반드시,unix_socket
키와 패스 값이 일치시킵니다.mysql.sock
는 MAMP에 존재합니다.
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'database' => 'database',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
unix_socket이 서로 다르다고 생각하지 말고 찾아보세요.
먼저 unix_socket 위치를 확인합니다.
$ mysql -uroot -p
mysql 비밀번호를 입력하고 명령줄에서 mysql 서버에 로그인합니다.
mysql> show variables like '%sock%';
+---------------+---------------------------------------+
| Variable_name | Value |
+---------------+---------------------------------------+
| socket | /opt/local/var/run/mysql5/mysqld.sock |
+---------------+---------------------------------------+
unix_socket은 다를 수 있습니다.
그러면 문제를 해결할 수 있는 두 가지 솔루션이 있습니다.
(1) 고객님의config/database.php
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'essays',
'username' => 'root',
'password' => 'root',
'unix_socket' => '/opt/local/var/run/mysql5/mysqld.sock', //Your sock got from above
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
(2) php.ini를 변경하여 다음 파일을 찾습니다.php.ini
에서 줄서다.
<? phpinfo();
여러 버전의 php를 설치할 수 있으므로 php.ini 파일 위치를 추측하지 말고 phpinfo에서 가져오십시오.
php.ini를 변경합니다.
mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock
pdo_mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
그런 다음 apache 또는 php-fpm을 재시작합니다.
똑같은 문제가 있었는데 지금은 잘 되고 있어요
문제가 해결되지 않는 경우는, 다음과 같이 시험해 주세요.
- 다음 사항을 확인합니다.
bootstrap/start.php
에는, 가상 호스트의 이름이 아니고, 실제의 호스트명이 포함되어 있습니다.를 입력하십시오.hostname
터미널에서 호스트 이름을 가져옵니다.어레이이므로 호스트 이름과 가상 호스트의 이름을 모두 입력할 수 있습니다. - "localhost"를 "127.0.0.1"로 바꿉니다.
XAMPP 를 사용하고 있는 경우, 솔루션은 다음과 같습니다.
'mysql' => array(
'driver' => 'mysql',
'unix_socket' => '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock',
'host' => 'localhost'
)
Larabel 5.0에서는 이 방법이 적용되며 .env 파일에서 DB_HOST=132.0.0.1:33060을 변경합니다.
다른 답변은 작동하지 않습니다.
Larabel 5.1.11 버전 + MAC + MAMPP를 사용하는 경우
파일 "yourapp"/app/config/database에 "Unix_socket"을 추가해야 합니다.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
위의 mysql 구성 드라이브에 Unix_socket 파라미터가 추가되었습니다.
5.0의 경우 Larabel 5.0+를 localhost
로로 합니다.127.0.0.1
Unix Sockets .env.
Noobs 주의:Larabel 5를 사용하거나 오래된 학습 자료를 사용하는 사용자는 이전 버전과 상당히 다른 폴더 구조가 있음을 유의하십시오.이 문서는 https://mattstauffer.co/blog/laravel-5.0-directory-structure-and-namespace에서 확인할 수 있습니다.
또 다른 해결책은 호스트 키에 포트 번호를 추가하는 것입니다.이 경우 MAMP는 기본적으로 8889를 사용합니다.
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost:8889',
'database' => 'essays',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
언급URL : https://stackoverflow.com/questions/19475762/setting-up-laravel-on-a-mac-php-artisan-migrate-error-no-such-file-or-directory
'source' 카테고리의 다른 글
Guava 라이브러리:가장 유용한 기능 및/또는 숨겨진 기능은 무엇입니까? (0) | 2022.10.23 |
---|---|
코드 및 마크업 Q&A 이미지 예시 (0) | 2022.10.23 |
VSCode -- Python 프로그램을 디버깅하기 위한 작업 디렉토리를 설정하는 방법 (0) | 2022.10.23 |
MySQL - 열이 이미 있습니다: 1060 중복된 열 이름 '1' (0) | 2022.10.23 |
출력이 파일로 리다이렉트되면 printf() 및 system()의 결과가 잘못된 순서로 나타난다. (0) | 2022.10.23 |