Laravel 迁移工作正常,但是当我打开一个页面时,我得到 "SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'x.x.x.x' (13)" - using vagrant
Laravel migrations work fine, but when I open a page I get "SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'x.x.x.x' (13)" - using vagrant
我设置了多个 vagrant boxes,我将数据库放在一个独立的盒子里,将应用程序放在它自己的盒子里。
值得注意的是,我没有使用 laravel homestead。两台服务器 运行ning CentOS 7.
我可以在我的 windows 机器上从 HeidiSQL 连接,我什至可以 运行 php artisan migrate --seed
通过 ssh 并且它可以完美地迁移表。但是,当我打开依赖于数据库连接的页面时,我得到 SQLSTATE[HY000] [2003] Can't connect to MySQL server on '192.168.3.16' (13)
.
还值得一提的是,我遇到了文件权限问题,laravel 无法缓存视图,因为我得到以下信息:file_put_contents(/var/www/html/autofollow/storage/framework/sessions/N3Z5v2PxiKdgbCwOxXZylmnLZYbgCE4UEOM7uluq): failed to open stream: Permission denied
听起来很奇怪,它可能需要做一些有权限的事情。我尝试了有关文件权限的所有方法,使用 chown -R vagrant:apache
将所有者和组设置为 apache,甚至出于测试目的将所有权限更改为 777,但没有任何效果。
此时我很头疼,希望有相同经历的大神帮帮我。
提前致谢!
编辑:这是一个被触发的例子
/**
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function index()
{
$plans = Plan::all();
return view("frontend.pricing", compact("plans"));
}
在应用根目录下尝试运行这个
sudo chgrp -R vagrant storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
您的权限问题不允许Laravel创建会话文件
通过禁用 SELinux 解决了这两个问题:
sudo vim /etc/sysconfig/selinux
并将其更改为禁用:
SELINUX=disabled
查看状态:
sestatus
我设置了多个 vagrant boxes,我将数据库放在一个独立的盒子里,将应用程序放在它自己的盒子里。 值得注意的是,我没有使用 laravel homestead。两台服务器 运行ning CentOS 7.
我可以在我的 windows 机器上从 HeidiSQL 连接,我什至可以 运行 php artisan migrate --seed
通过 ssh 并且它可以完美地迁移表。但是,当我打开依赖于数据库连接的页面时,我得到 SQLSTATE[HY000] [2003] Can't connect to MySQL server on '192.168.3.16' (13)
.
还值得一提的是,我遇到了文件权限问题,laravel 无法缓存视图,因为我得到以下信息:file_put_contents(/var/www/html/autofollow/storage/framework/sessions/N3Z5v2PxiKdgbCwOxXZylmnLZYbgCE4UEOM7uluq): failed to open stream: Permission denied
听起来很奇怪,它可能需要做一些有权限的事情。我尝试了有关文件权限的所有方法,使用 chown -R vagrant:apache
将所有者和组设置为 apache,甚至出于测试目的将所有权限更改为 777,但没有任何效果。
此时我很头疼,希望有相同经历的大神帮帮我。
提前致谢!
编辑:这是一个被触发的例子
/**
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function index()
{
$plans = Plan::all();
return view("frontend.pricing", compact("plans"));
}
在应用根目录下尝试运行这个
sudo chgrp -R vagrant storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
您的权限问题不允许Laravel创建会话文件
通过禁用 SELinux 解决了这两个问题:
sudo vim /etc/sysconfig/selinux
并将其更改为禁用:
SELINUX=disabled
查看状态:
sestatus