日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

mac 使用 php artisan,在Mac php artisan上設置Laravel遷移錯誤:沒有這樣的文件或目錄[duplicate]...

發(fā)布時(shí)間:2023/12/15 php 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mac 使用 php artisan,在Mac php artisan上設置Laravel遷移錯誤:沒有這樣的文件或目錄[duplicate]... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

This question already has an answer here:

這個(gè)問題已經(jīng)有了答案:

Pulled a perfectly working laravel project from a git into a mac running MAMP. Project ran perfectly on a linux machine.

從一個(gè)git到一個(gè)運(yùn)行MAMP的mac,從一個(gè)完美的工作的laravel項(xiàng)目。項(xiàng)目在linux機(jī)器上運(yùn)行得很好。

composer install

作曲家安裝

php artisan migrate, got the following error:

php artisan遷移,得到以下錯(cuò)誤: [PDOException]

SQLSTATE[HY000] [2002] No such file or directory

NB: php -v is 5.5 and mysql -v is 5.5 from the terminal Here is part of my config/database.php

NB: php -v是5.5,而mysql -v是5.5,這是我的config/database.php的一部分。

'mysql' => array(

'driver' => 'mysql',

'host' => 'localhost',

'database' => 'essays',

'username' => 'root',

'password' => 'root',

'charset' => 'utf8',

'collation' => 'utf8_unicode_ci',

'prefix' => '',

),

I tried replacing localhost with 127.0.0.1 with no avail. Kindly help..

我嘗試用127.0.0.1替換localhost,但沒有用。請(qǐng)幫助. .

Edit: I added these three lines in my php.ini

編輯:我在ph .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

I also added this symlink:

我還添加了這個(gè)符號(hào)鏈接:

sudo mkdir /var/mysql

cd /var/mysql && sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

But that didnt solve. I also pulled a fresh new laravel project from git and ran into the same error after composer install then php artisan migrate

但這沒有解決。我還從git中提取了一個(gè)新的laravel項(xiàng)目,並在安裝了composer之后遇到了同樣的錯(cuò)誤,然后php artisan才遷移

[PDOException]

SQLSTATE[HY000] [2002] No such file or directory

The mac version is 10.7.4

mac版是10.7.4

8 個(gè)解決方案

#1

168

If you are using MAMP be sure to add the unix_socket key with a value of the path that the mysql.sock resides in MAMP.

如果您正在使用MAMP,請(qǐng)確保添加具有mysql路徑值的unix_socket密鑰。襪子在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' => '',

),

#2

19

Do not assume your unix_socket which would be different from one to another, try to find it.

First of all, get your unix_socket location.

首先,獲取unix_socket位置。

$ mysql -uroot -p

Enter your mysql password and login your mysql server from command line.

輸入mysql密碼並從命令行登錄mysql服務(wù)器。

mysql> show variables like '%sock%';

+---------------+---------------------------------------+

| Variable_name | Value |

+---------------+---------------------------------------+

| socket | /opt/local/var/run/mysql5/mysqld.sock |

+---------------+---------------------------------------+

Your unix_soket could be diffrent.

你的unix_soket可能不同。

Then you got 2 solution to solve your issue:

然后你有兩個(gè)解決方案:

(1) Change your config/database.php

(1)改變你的配置/ 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) Change your php.ini, find your php.ini file from

(2)改變你的php。ini,找到你的php。ini文件從

phpinfo();

You maybe install many php with different version, so please don't assume your php.ini file location, get it from your 'phpinfo';

您可能安裝了許多不同版本的php,所以請(qǐng)不要假設(shè)您的php。ini文件位置,從“phpinfo”獲取;

Change your php.ini:

改變你的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

Then restart your apache or php-fpm.

然后重新啟動(dòng)apache或php-fpm。

#3

17

Had the same problem, but it's working for me now.

我也有同樣的問題,但現(xiàn)在對(duì)我有用。

If anybody is still having problems, try this:

如果有人仍然有問題,試試這個(gè):

Make sure your bootstrap/start.php contains your actual hostname, not the name of your virtual host. Enter hostname in the terminal to get your hostname. As it's an array I believe you can enter both your hostname and the name(s) of your virtual host(s).

確保你的引導(dǎo)/啟動(dòng)。php包含實(shí)際的主機(jī)名,而不是虛擬主機(jī)名。在終端中輸入主機(jī)名以獲取主機(jī)名。由於它是一個(gè)數(shù)組,我相信您可以輸入您的主機(jī)名和虛擬主機(jī)的名稱。

Replace "localhost" with "127.0.0.1".

用“127.0.0.1”代替“l(fā)ocalhost”。

#4

12

If you are using XAMPP, the solution is:

如果您正在使用XAMPP,解決方案是:

'mysql' => array(

'driver' => 'mysql',

'unix_socket' => '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock',

'host' => 'localhost'

)

#5

9

This works for me in Laravel 5.0, change the DB_HOST=127.0.0.1:33060 in .env file.

這在Laravel 5.0中為我工作,在.env文件中更改DB_HOST=127.0.0.1:33060。

Others answers don't work...

其他答案不工作…

#6

5

For Laravel 5.0+ change localhost to 127.0.0.1 in your .env file as well before you go playing around with Unix Sockets etc - this worked for me.

對(duì)於Laravel 5.0+在您的.env文件中將localhost更改為127.0.0.1,然后再使用Unix套接字等等,這對(duì)我來說很有用。

Noobs beware: For anyone using Laravel 5 and using older learning material be aware that there was quite a marked shift in folder structure from previous versions though this seems to be for the better- check out this article https://mattstauffer.co/blog/laravel-5.0-directory-structure-and-namespace

Noobs注意:對(duì)於任何使用Laravel 5和使用較舊學(xué)習(xí)材料的人來說,請(qǐng)注意,文件夾結(jié)構(gòu)與以前版本相比出現(xiàn)了明顯的變化,不過這似乎更好——請(qǐng)參閱本文https://mattstauff.co/blog/laravel-5.0 directorly - structure-namespace

#7

3

Another solution is to add the port number in the host key. In this case MAMP uses the 8889 by default:

另一種解決方案是在主機(jī)密鑰中添加端口號(hào)。在這種情況下,MAMP默認(rèn)使用8889:

'mysql' => array(

'driver' => 'mysql',

'host' => 'localhost:8889',

'database' => 'essays',

'username' => 'root',

'password' => 'root',

'charset' => 'utf8',

'collation' => 'utf8_unicode_ci',

'prefix' => '',

),

#8

2

If you are using Laravle 5.1.11 version + MAC + MAMPP

如果您正在使用Laravle 5.1.11版本+ MAC + MAMPP

you have to add "Unix_socket " in file "yourapp"/app/config/database.php

您必須在文件“yourapp”/app/config/database.php中添加“Unix_socket”

'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,

],

Unix_socket param was added to above mysql config drive.

Unix_socket param被添加到上面的mysql配置驅(qū)動(dòng)中。

總結(jié)

以上是生活随笔為你收集整理的mac 使用 php artisan,在Mac php artisan上設置Laravel遷移錯誤:沒有這樣的文件或目錄[duplicate]...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。