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