gpt4 book ai didi

php - 使用 XAMPP 访问 Laravel Homestead 中的 phpMyAdmin

转载 作者:行者123 更新时间:2023-11-29 11:50:41 28 4
gpt4 key购买 nike

在设置 Laravel Homestead 并让它毫无问题地工作的陡峭学习曲线上经历了一夜的挫折后,我遇到了这个我似乎无法找到解决方案的问题。如何使用 phpmyadmin 管理 Laravel Homestead 实例中的数据库?

理想情况下,我想从位于 C:/xampp/ 的 XAMPP 中预先配置的 phpMyAdmin 访问它。但我没有在 C:/xampp/htdocs/ 中设置我的 Laravel 项目,这似乎是 XAMPP 获取数据库的地方。我在 ~\Google Drive\College\...\Project\ 中创建了 Laravel 项目,因此它与我的 XAMPP 安装没有任何连接。如何使用 XAMPP 为我的 Laravel 项目管理/创建数据库?

我尝试直接在 Laravel Homestead 中安装 phpmyadmin,但它只是将其创建为另一个“项目”,就在我尝试使用它的项目旁边,如 ~\Google Drive\College\...\phpMyAdmin\。 (如果应该是这样,那么我如何使用 phpMyAdmin 安装/实例来访问和修改我的项目的数据库?)

转到localhost:8000/home可以在我的项目的公共(public)目录中正确交付我的索引页面,但是通过转到localhost:8000/home/phpMyAdmin无法访问phpMyAdmin > 或 localhost:8000/phpMyAdmin。但是,通过 XAMPP 中的 Apache 和 mySQL 服务器,我可以访问本地(但在项目外部)phpMyAdmin 安装及其数据库。

我缺少什么方面,无法使用数据库?我将不胜感激任何帮助。我整夜没睡,试图弄清楚这个问题。

最佳答案

劫持 XAMPP 的 phpMyAdmin 配置不起作用。真正的问题是文件目录的正确映射,设置配置文件以匹配,然后重新配置以应用配置更改。 XAMPP 根本就不需要。详细来说,这是有效的配置:

在 Homestead.yaml 中:

folders: 
# The iMeetUp project folder is contained within the project folder specified here:
- map: C:/Users/****/******/******/Project Files/
to: /home/vagrant/Code
# The above directory is where the local project folder should be mapped to within your Homestead VM. So the mapping works as follows: Map from local, to VM.

sites:
- map: imeetups.local
to: /home/vagrant/Code/iMeetUp/public
# This mapping, when combined with the hosts file edit, enables you to access your app at http://imeetups.local:8000

databases:
- iMeetUp

将此添加到位于 C:\Windows\System32\drivers\etchosts 文件中(确保使用您选择的代码编辑器(我的是 Sublime Text )并且您在启用以管理员身份运行的情况下启动了该编辑器):

127.0.0.1 imeetups.local

在您的 Laravel 项目中,更改此文件的以下部分以匹配:iMeetUp/app/config/local/database.php:

  'mysql' => array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'iMeetUp',
'username' => 'homestead',
'password' => 'secret',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),

The username and password for homestead's database is what is used, the same one described on their documentation.

最后,您必须重新初始化项目 - 无需vagrant destroy整个项目。只需在命令提示符下的 Homestead 文件夹中运行此命令,无论您在何处保存 Homestead 安装:

Git bash init.sh

如果这不起作用,请确保您已安装 Git bash 并将其包含在 PATH 文件中。然后,您只需从 Homestead 文件夹运行 init.sh 即可,它会自动启动 Git bash 窗口。在对话框中,选择yes 覆盖它会询问的所有 3 个配置文件。我首先做出了错误的假设,第一个文件询问是否覆盖 homestead.yaml 文件,但后来我注意到它指的是文件的缓存版本,所以你绝对应该对它说"is"并且不是没有。

初始化后,您需要重新配置整个项目。在您的 Homestead 目录中运行:

vagrant up --provision

或者,如果您的虚拟机当前正在运行,

vagrant reload --provision

这将强制项目重新应用其配置文件的缓存设置。现在您的应用程序应该可以运行并连接到数据库,并且应该可以通过以下任意地址访问该站点:

http://localhost:8000
http://127.0.0.1:8000
http://imeetup.local:8000

此外,如果您计划使用 Laravel 内置的 Auth::框架,则需要更改框架以使用数据库。例如:

iMeetUp/app/config/auth.php:

'driver' => 'database', 
'model' => 'member',
'table' => 'members',

The table should match your default/primary user/member table in your database, and the model should be referencing the name of the user/member model file you are using in iMeetUps/app/models.

通过此设置,您的应用应该适本地使用 Homestead 的数据库。我无法找到任何广泛、清晰、详细的解决方案来解决这个问题,所以我决定自己写一个。我希望这可以帮助其他人节省一个周末的时间,这就是我花了多长时间才弄清楚这一点。

关于php - 使用 XAMPP 访问 Laravel Homestead 中的 phpMyAdmin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34117317/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com