Laravel不同的环境git.env-Xampp&;Mamp


Laravel different environment git .env Xampp & Mamp

我第一次将github与laraval结合使用。

我有两个本地环境:

  • a( 我使用MAMP Pro进行本地开发(Mac(
  • b( 我使用XAMPP进行本地开发(Windows(

我在环境a(中创建了一个新的存储库并推送到github,在设置b(中克隆了这个存储库,并添加了一个.env文件来设置我的数据库。然而,我有点困惑该如何处理app_key值,我需要从初始环境中复制它吗?还是需要一个新的?。

我问题的第二部分是,我似乎对xampvs mamp-pro有问题,因为它们重写了几个url,这意味着我的项目不会在环境b(上运行。我还需要调整其他设置吗?如果我致力于环境b(,它会再次刹车吗?

在环境b(上运行项目时出现错误消息

Warning: require(D:'dev.local'ADifferentDesign'bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in D:'dev.local'ADifferentDesign'bootstrap'autoload.php on line 17
Fatal error: require(): Failed opening required 'D:'dev.local'ADifferentDesign'bootstrap/../vendor/autoload.php' (include_path='.;C:'xampp'php'PEAR') in D:'dev.local'ADifferentDesign'bootstrap'autoload.p

我真的很困惑,我看到了其他类似的问题,但没有一个是我想要的。

也将非常感谢为未来的项目提供一个好的途径

进度更新1:我用相同的密钥更新了.env文件。但上述错误仍然存在。我也不想每次切换环境时都更改自动加载中的路径。

这取决于情况。如果在两个环境之间共享任何保存加密数据的资源(如数据库(,则必须复制app_key。这是因为Laravel在加密用户密码或会话ID时都会使用app_key

如果您不需要共享数据库、会话等,那么您可以并且应该为每个环境生成一个新密钥。

您可以通过在站点根目录中运行以下命令生成一个新密钥:

php artisan key:generate

理想情况下,在运行数据库种子或其他东西之前,您应该将此命令作为设置新环境的第一步来运行。这是因为,如果你在为数据库设定种子后生成了一个新密钥,那么你在种子中创建的任何密码都将无效,你必须为数据库重新设定种子。