我最开始是在Laravel 4.2上开发我的应用程序,但后来决定将其迁移到5.0版本,以涵盖5.0相对于4.2的许多变更和优势。
我现在正在尝试运行我的数据库迁移,但是收到了以下错误信息:
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
我研究了一下,发现这是因为我在服务器上运行的是MAMP而不是vagrant和homestead。我并不否认那两个工具的用途,但我现在更喜欢MAMP,直到它让我失望。我知道是MAMP的原因是因为需要声明要使用的Unix套接字值。
现在,在我的应用程序4.2版本中,我有以下内容:
'mysql' => array(
'driver' => 'mysql',
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'host' => getenv('DB_HOST'),
...
),
在我的 Laravel 5.0 版本中,我正在使用 .env 文件来管理环境变量,但我不确定如何让它知道要使用 Unix Socket 值。
能否有人给我指点一下如何将其采用到新版本中或更好的方法将其添加到设置中,以便我不必这样做?
mysql.sock
的文件。电脑不会在这方面犯错。如果它说那里没有文件,那就是因为那里没有文件。如果你在非默认位置安装了MAMP,你可以通过更新配置文件中mysql.sock
文件的正确路径来解决问题,但MAMP本身不建议在其他地方安装他们的软件,因为会出现许多类似这样的问题。 - Félix Adriyel Gagnon-Grenier