使用MAMP在OSX上安装Laravel 5.1

问题描述 投票:8回答:3

我尝试在OSX Yosemite上使用MAMP安装Laravel 5.1,并遇到了几个障碍。具体来说,我在尝试迁移数据库时遇到以下错误。

[PDOException] SQLSTATE[HY000] [2002] No such file or directory
macos laravel mamp laravel-5.1
3个回答
33
投票

1) Install Composer

如果您还没有安装composer,则需要执行此操作。只需在mac的composer中输入terminal命令,即可测试安装了作曲家的天气。如果安装了composer,您应该会看到可用命令的列表。

Screen Shot 2015-08-17 at 1.34.05 PM.png

如果您还没有安装composer,可以看到Getting Started with Composer

2) Install Laravel

Laravel在installing Laravel有很好的文档。我将详细介绍我为了让Laravel在OSX Yosemite上运行而采取的步骤。

通过Laravel Installer安装。在终端中键入以下内容。

cd ~/
composer global require "laravel/installer=~1.1"

将composer可执行文件添加到Path环境中,以便可以找到laravel可执行文件。

PATH=$PATH:~/.composer/vendor/bin

安装一个新的Laravel实例,并为其命名。在我们的例子中,我们将项目命名为saas。

laravel new saas

我正在使用MAMP PRO在我的Mac上本地运行网站。所以我只需要在MAMP中创建一个新主机,并将其指向saas / public目录。

laravel_mamp.png

然后,访问http://saas:8888将向您展示Laravel的美丽欢迎屏幕。

laravel5_1.png

3)创建数据库

我喜欢使用Navicat来管理我的数据库。使用Navicat for MySQL,我创建了一个新的本地数据库。

然后,在.env文件中定义它的连接。

 DB_HOST=localhost
 DB_DATABASE=saas
 DB_USERNAME=root
 DB_PASSWORD=xxxxxxx

使用以下命令触发迁移:

php artisan migrate

由于我正在使用MAMP,因此在尝试迁移时出现此错误。

[PDOException]                                    

SQLSTATE [HY000] [2002]没有这样的文件或目录

解决方案是add the unix_socket key with a value of the path that the mysql.sock resides in MAMP

'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        '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'   => '/Applications/MAMP/tmp/mysql/mysql.sock',
    ],

4)总结

存储中的目录和引导/缓存目录应该是可写的。我们将通过以下方式做到这一点?

chmod -R 777 storage
chmod -R 777 bootstrap/cache

重命名环境文件。

mv .env.example .env

5)PHP路径

由于使用MAMP,我们的机器上安装了多个版本的PHP。因此,如果我们尝试运行php artisan,我们将收到错误。

Mcrypt PHP extension required

如果您还收到该错误,请首先查看您使用MAMP的PHP版本。你可以通过MAMP的主​​窗口> PHP来检查。在我的情况下,使用版本5.6.10

然后我们可以通过添加以下行来编辑我们的 ~/.bash_profile文件:

export PATH=/Applications/MAMP/bin/php/php5.6.10/bin:$PATH

重新启动终端,然后您应该能够运行php artisan命令。

就是这样。创造出令人敬畏的东西!


5
投票

将本地配置添加到config / database.php这样的文件似乎对我不对 - 因为对它的任何更改也会上传到Git仓库。

发现这个其他解决方案工作正常,没有代码更改:

mkdir /var/mysql
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

这可以立即工作,不会改变PHP或Git-able文件。

希望能帮助到你。


0
投票

使用MAMP在Mac OS上安装Laravel Framework 5.7

Composer Composer安装

curl -sS https://getcomposer.org/installer | php

安装laravel

  1. composer global需要laravel / installer
  2. PATH = $ PATH:〜/ .composer /供应商/箱
  3. laravel新

chmod -R 775存储chmod -R 775 bootstrap / cache

After i got 500 error

检查错误日志,发现以下错误

tail -f /Applications/MAMP/logs/php_error.log

发现:语法错误,意外'='blog/vendor/laravel/framework/src/Illuminate/Support/Arr.php on line 388

我改变了我的PHP版本7.1解决了我的问题

© www.soinside.com 2019 - 2024. All rights reserved.