Mar*_*mas 9 macos mamp laravel laravel-5.1
我尝试在OSX Yosemite上使用MAMP安装Laravel 5.1,并遇到了几个障碍.具体来说,我在尝试迁移数据库时遇到以下错误.
[PDOException] SQLSTATE[HY000] [2002] No such file or directory
Run Code Online (Sandbox Code Playgroud)
Mar*_*mas 33
如果您还没有安装composer,则需要执行此操作.只需在composermac 终端输入命令,即可测试安装了作曲家的天气.如果安装了composer,您应该会看到可用命令的列表.
如果您还没有安装composer,可以看到Composer入门
Laravel在安装Laravel方面有很好的文档.我将详细介绍我为了让Laravel在OSX Yosemite上运行而采取的步骤.
通过Laravel Installer安装.在终端中键入以下内容.
cd ~/
composer global require "laravel/installer=~1.1"
Run Code Online (Sandbox Code Playgroud)
将composer可执行文件添加到Path环境中,以便laravel可以找到可执行文件.
PATH=$PATH:~/.composer/vendor/bin
Run Code Online (Sandbox Code Playgroud)
安装一个新的Laravel实例,并为其命名.在我们的例子中,我们将项目命名为saas.
laravel new saas
Run Code Online (Sandbox Code Playgroud)
我正在使用MAMP PRO在我的Mac上本地运行网站.所以我只需要在MAMP中创建一个新主机,并将其指向saas/public目录.
然后,访问http:// saas:8888将向您展示Laravel的美丽欢迎屏幕.
我喜欢使用Navicat来管理我的数据库.使用Navicat for MySQL,我创建了一个新的本地数据库.
然后,在.env 文件中定义它的连接.
DB_HOST=localhost
DB_DATABASE=saas
DB_USERNAME=root
DB_PASSWORD=xxxxxxx
Run Code Online (Sandbox Code Playgroud)
使用以下命令触发迁移:
php artisan migrate
Run Code Online (Sandbox Code Playgroud)
由于我正在使用MAMP,因此在尝试迁移时出现此错误.
[PDOException]
Run Code Online (Sandbox Code Playgroud)
SQLSTATE [HY000] [2002]没有这样的文件或目录
解决方案是使用mysql.sock驻留在MAMP中的路径值添加unix_socket密钥.
'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',
],
Run Code Online (Sandbox Code Playgroud)
存储中的目录和引导/缓存目录应该是可写的.我们将通过以下方式做到这一点?
chmod -R 777 storage
chmod -R 777 bootstrap/cache
Run Code Online (Sandbox Code Playgroud)
重命名环境文件.
mv .env.example .env
Run Code Online (Sandbox Code Playgroud)
由于使用MAMP,我们的机器上安装了多个版本的PHP.因此,如果我们尝试运行php artisan,我们将会收到错误.
Mcrypt PHP extension required
Run Code Online (Sandbox Code Playgroud)
如果您还收到该错误,请首先查看您使用MAMP的PHP版本.你可以通过MAMP的主窗口> PHP来检查.就我而言,正在使用版本5.6.10.
然后我们可以 ~/.bash_profile通过添加以下行来编辑我们的文件:
export PATH=/Applications/MAMP/bin/php/php5.6.10/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
重新启动终端,然后您应该能够运行该php artisan命令.
就是这样.创造出令人敬畏的东西!
将本地配置添加到config/database.php这样的文件似乎对我不对 - 因为对它的任何更改也会上传到Git仓库.
发现这个其他解决方案工作正常,没有代码更改:
mkdir /var/mysql
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)
这可以立即工作,不会改变PHP或Git-able文件.
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
29669 次 |
| 最近记录: |