首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel 数据库连接配置和读写分离

今天开始讲如何在 Laravel 中操作数据库,Laravel 为我们提供了多种工具实现对数据库的增删改查,在我们使用 Laravel 提供的这些数据库工具之前,首先要连接到数据库。...数据库的连接配置文件位于 config/database.php,和很多其他 Laravel 配置一样,你可以为数据库配置多个「连接」,然后决定将哪个「连接」作为默认连接。...=root DB_PASSWORD=root 做好以上配置后,你就可以在 Laravel 项目中连接上 MySQL 数据库了。...默认情况下,我们在通过 Laravel 提供的数据库工具(DB 门面、查询构建器、Eloquent模型)连接数据库的时候,都没有显式指定连接,因为我们在配置文件中指定了默认的连接 mysql。...配置数据库读写分离连接 理论上来说,配置数据库读写分离连接也属于配置多个数据库连接的范畴,但是由于是一个比较特殊又很常见的使用场景,所以我们单独来讨论,Laravel 也对此进行了单独支持。

5.5K20

如何在Ubuntu 14.04上使用Ansible部署高级PHP应用程序

这意味着我们已成功换出示例存储库的默认存储库,但应用程序无法连接到数据库。这是我们期望在这里看到的,我们将在本教程的后面安装和设置数据库。...虽然Ansible非常适合维护配置和设置服务器和应用程序,但Envoy和Rocketeer等工具通常用于将代码更改推送到服务器并远程运行应用程序命令。...第3步 - 配置防火墙 在此步骤中,我们将在服务器上配置防火墙,以仅允许HTTP和SSH连接。...在这种情况下,我们需要MySQL可用于PHP,因此它可以连接到数据库。 Ansible的一个奇妙之处在于您可以修改任何任务并重新运行您的剧本,并且将应用更改。...ansible-playbook php.yml --ask-sudo-pass 完成执行后,在浏览器中刷新页面,您会看到一条消息: Queue: NO Cron: NO 这意味着数据库已正确设置并按预期工作

10.7K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何在Ubuntu 16.04上使用Deployer自动部署Laravel应用程序

    在本教程中,您将自动部署Laravel应用程序,而不会出现任何宕机问题。为此,您将准备将从中部署代码的本地开发环境,然后使用Nginx和MySQL数据库配置生产服务器为该应用程序提供服务。...以部署者用户身份从本地计算机登录到服务器以测试连接: $ ssh deployer@your_server_ip -i ~/.ssh/deployerkey 以deployer身份登录后,还要测试服务器和...重新启动Nginx以推送必要的更改: $ sudo systemctl restart nginx 现在配置了Nginx服务器。接下来,我们将配置应用程序的MySQL数据库。...第5步 - 配置MySQL 安装完成后,MySQL 默认创建root用户。但是,此用户具有无限权限,因此将root用户用于应用程序的数据库是一种不安全做法。...该.env文件还包含数据库连接设置,这就是我们为第一次部署禁用数据库迁移的原因。

    15.6K10

    Laravel学习笔记(一)——初次见面,多多关照!

    Laravel——简洁、优美的PHP框架 在学习了部分Django框架后,我决定全身心的转战PHP框架。...cache 文件夹,里面包含了框架为提升性能所生成的文件,如路由和服务缓存文件; Config目录 config 目录包含了应用所有的配置文件,建议通读一遍这些配置文件以便熟悉 Laravel 所有默认配置项...storage/app/public 目录用于存储用户生成的文件,比如可以被公开访问的用户头像,要达到被 Web 用户访问的目的,你还需要在 public (应用根目录下的 public 目录)目录下生成一个软连接....env文件 .env文件用于存储网站所有的配置信息,比如数据库配置信息、Redis配置信息等。...若是这一段落觉得博主讲的含糊不清的,可以在下面留言您的意见,我结合您的意见再做更改!

    2.3K00

    Laravel学习笔记(四)——模型,更安全的数据存取

    前言 如果你是一个从没用接触过框架的新手,你在进行数据库操作的时候可能会创建数据库链接,然后进行数据操作,最后关闭数据库连接。...这种方式听起来貌似不错,但是当程序复杂起来后,每个地方都要进行同样的数据库连接,关闭等操作,这必然就不符合代码复用的原则,并且难以维护(数据库信息更改后,需要改很多地方)。...所以就有了MVC模式,根据程序需求自行封装数据库操作类,需要进行数据库操作时,引入类文件,new一个数据库对象即可。如果数据库信息更改,也只需要更改数据库操作类,提升了代码的复用,也便于后期维护。...Laravel 数据库配置 要想使用模型,第一个要设置的当然是数据库信息。...在第一章就有介绍到,数据库信息保存在项目根目录的 .env 文件中,找到相关的数据库信息,进行修改成自己的数据库配置保存即可。

    1.7K00

    Laravel学习笔记(四)——模型,更安全的数据存取

    前言 如果你是一个从没用接触过框架的新手,你在进行数据库操作的时候可能会创建数据库链接,然后进行数据操作,最后关闭数据库连接。...这种方式听起来貌似不错,但是当程序复杂起来后,每个地方都要进行同样的数据库连接,关闭等操作,这必然就不符合代码复用的原则,并且难以维护(数据库信息更改后,需要改很多地方)。...所以就有了MVC模式,根据程序需求自行封装数据库操作类,需要进行数据库操作时,引入类文件,new一个数据库对象即可。如果数据库信息更改,也只需要更改数据库操作类,提升了代码的复用,也便于后期维护。...Laravel 数据库配置 要想使用模型,第一个要设置的当然是数据库信息。...在第一章就有介绍到,数据库信息保存在项目根目录的 .env 文件中,找到相关的数据库信息,进行修改成自己的数据库配置保存即可。

    2.1K00

    Laravel5.2之Redis保存页面浏览量

    备注:最近在学习github上别人的源码时,发现好多在计算一篇博客页面访问量view_count时都是这么做的:利用Laravel的事件监听器监听IP访问该post,然后页面每访问一次,都刷新一次MySQL...何不用Redis来做缓存,等到该post达到一定浏览页面后再刷新下MySQL,效率也很高。...开发环境:Laravel5.1+MAMP+PHP7+MySQL5.5 Redis依赖包安装与配置 Redis就和MySQL一样,都是数据库,只不过MySQL是磁盘数据库,数据存储在磁盘里,而Redis是内存数据库...,就默认连接'default'实例 ], //config/database.php 'redis' => [ 'cluster' => false,... 然后重点写下事件监听器逻辑: class PostEventListener { /** * 同一post最大访问次数,再刷新数据库

    8.8K41

    Laravel项目的性能优化

    缓存配置 就如路由一样,你同样可以在应用中缓存配置文件。...设想一下这种场景:每次你发送一个请求到 App 中,Laravel 都需要去加载不同的配置文件,并且要去打开*.env* 文件读取其中的内容。这种方式性能低下,是不?...我上篇文章专门讲了laravel队列的使用,有兴趣的可以去看一下Laravel队列的使用。 优化六:删除未使用的服务 Laravel 自带了很多服务,它是一个全栈框架,每一个服务都有其用武之地。...如果您信息不够及时,预加载是一种通过使用特定语法来减少发送到数据库的查询数量来提高 Eloquent 性能的方法。 更改基础查询以避免此性能问题。 您将只执行两个查询而不是1001!...这个缓存组件的 * remember* 方法在未找到缓存的情况下将会先从数据库中获取数据,并缓存60分钟。到期后,将会再次从数据库中获取最新的数据,更新缓存。

    3.8K30

    基于全局中间件 + Redis 实现 Laravel 全站访问计数器功能

    如果你使用的是 Laravel 官方提供的 Sail 构建 Docker 开发环境,则 PHP Redis 扩展包已经默认安装: Redis 客户端连接与配置 在 redis-demo 项目根目录下的....env 环境配置文件中配置 Redis 连接信息: REDIS_CLIENT=phpredis REDIS_HOST=redis REDIS_PASSWORD=null REDIS_PORT=6379...与服务端建立连接的配置值位于 config 属性中,其中包含了 Redis 服务器 IP(redis 容器)、端口号(6379)、密码(默认为空)和数据库信息(默认是 0)等,此外还有一个 options...属性指定额外的连接选项,cluster 表示集群,prefix 表示键名前缀,所有这些配置项都是在 config/database.php 中完成配置的: 'redis' => [ 'client...REDIS_PORT', '6379'), 'database' => env('REDIS_CACHE_DB', '1'), ], ], Redis 计数器功能实现 完成上述安装和配置工作后

    2.3K20

    Homestead + laravel-mix 环境下 hmr 的两种玩法

    我在前几天刚写过的《让 F5 歇一会儿——laravel-mix 自动刷新之道》[1]中介绍了 laravel-mix 实现自动刷新的几种方法,其中就有涉及 hmr(Hot Module Replacement...首先假定你已经创建了一个 laravel 项目,进行了相关配置(.env 配置及绑定测试域名,如:laravel.test)并已装好了后端依赖 玩法一:使用虚拟机中的 Node 环境 因为 Homestead...1.vagrant ssh 连接虚拟机,进入项目目录后安装前端依赖 yarn install 2.在 webpack.mix.js 中调整相关配置 使用 mix.Webpack() 配置 devServer...在虚拟机终端中执行yarn run hot,然后在浏览器中使用绑定的测试域名(如:laravel.test)访问 34.修改 JS 等,自动编译后浏览器中页面即自动更新 玩法二:使用宿主机中的 Node...References [1] 《让 F5 歇一会儿——laravel-mix 自动刷新之道》: https://tianyong90.com/2019/04/12/rang-f5-xie-yi-hui-er-laravel-mix-zi-dong-shua-xin-zhi-dao

    1.6K10

    基于 Redis 实现 Laravel 广播功能(下):在私有频道和存在频道发布和接收消息

    私有频道认证与授权 这是因为私有频道需要用户已认证并且对用户进行授权后才能订阅并接收广播消息,这个时候广播路由就派上用场了,我们可以在 routes/channels.php 中注册这个私有频道的广播路由来定义授权策略...{id}', function ($user, $id) { // 模拟微信群与用户映射关系列表,正式项目可以读取数据库获取 $group_users = [ [...即可通过登录表单完成用户认证: 然后再次刷新 http://redis.test/broadcast 页面,就没有报错信息了: 在 laravel-echo-server 日志中,也可以看到对应的认证请求细节...日志确认消息已经转发到 Websocket 客户端: 然后在 /broadcast 视图,就可以在开发者工具 Console 标签中看到输出的问候信息了,这个信息来自私有频道的广播信息: 如果用户未认证...另外,这个功能还依赖于客户端请求头包含 X-Socket-ID(Laravel Echo 初始化时会为每个连接分配一个唯一的 Socket ID,用于标识不同的 Websocket 客户端),如果你在

    3.2K30

    LaravelLumen 使用 redis队列

    这里我们可以保持其默认配置不变。 failed配置项用于配置失败队列任务存放的数据库及数据表。这里我们需要按照自己的数据库配置对其做相应修改。...要使用 redis 队列驱动,需要在配置文件 config/database.php 中配置 Redis 数据库连接。...Laravel 服务容器会自动注入这些依赖。 3、分发任务 创建好任务类后,就可以通过任务自身的 dispatch 方法将其分发到队列。...你也可以指定监听哪一个连接的队列: php artisan queue:listen connection-name ---- 请记住, 队列进程是长生命周期的进程,会在启动后驻留内存。...启动 Supervisor 当成功创建配置文件后,需要刷新 Supervisor 的配置信息并使用如下命令启动进程: sudo supervisorctl reread sudo supervisorctl

    2.4K20

    【Laravel系列2.1】先把Laravel跑起来

    当然,这个不是必需的,我们在这里只是提前说明一下,因为后面的入门相关的文章中我们还需要连接数据库、redis 之类的,并测试一下缓存相关的内容。...打开 welcome.blade.php 这个文件,随便添加修改一些内容,再次刷新页面,我们就可以看到新修改的内容。...://laravel8/ 这个 laravel8 是我设置的本机访问的 hosts ,需要修改 hosts 文件并在 Nginx 配置文件中监听。...配置完成后,我们通过这个域名就可以直接访问 Laravel 框架了。后续的学习,我们也都是以这个配置为基础进行学习,不会使用自带的那个服务器。...其实答案很简单,而且就在 Laravel 的根目录中。 总结 今天的内容不多,主要就是 Laravel 框架的安装以及简单地服务器配置。如果你还没有接触过 Laravel 的话,务必自己给它搭起来。

    1.4K30

    3分钟短文:书接上回,Laravel数据库迁移的那些个小技巧

    引言 使用laravel的数据库迁移功能进行表的创建,和迁移回滚之后,我们继续说说在设计中 表结构的更改之后的处理。以及如何为数据库填充一些伪数据作为测试。...我们需要空与非空约束,默认值约束,主键约束,外键约束等等数据库所具有的特性, 这才是关系型数据库的魅力。...add_enabled_to_events_table 现在为该迁移文件添加 up & down 方法,指定迁移开始和回滚所要执行的动作, 我们仅仅是添加一个字段,或者在回滚的时候,删除一个字段,代码如下图: [pic] 完成后在命令行执行迁移指令...回滚所有的迁移,不同于 migrate:rollback 仅回滚某一批次的迁移; 还有一个是 migrate:refresh,如果你修改了某些迁移过的文件,这个指令会刷新所有修改的变更并应用。...写在最后 本文是对上一章所述laravel数据库迁移功能的补充。数据库迁移是一个比较大的动作, 特别是已经上线生产的应用数据库,如果非到更新迁移的地步不可,需要预期做好演练, 以应对可能的突发事故。

    1.7K30

    如何在Ubuntu 14.04上使用Ansible部署多个PHP应用程序

    更改完所有内容后,保存并运行playbook: ansible-playbook php.yml --ask-sudo-pass 当没有更改任务的时候,就意味着我们的wwwuser变量正常工作。...完成运行后,在浏览器中刷新站点,它应该显示与上一个教程末尾相同的内容: Queue: YES Cron: YES 第5步 - 一起循环多个变量 在这一步中,我们将在任务中循环多个变量。...保存并运行它: ansible-playbook php.yml --ask-sudo-pass 尽管我们对我们的剧本进行了所有更改,但数据库任务应该没有变化。...通过此步骤的更改,我们应该完成从单个应用程序手册到多个应用程序手册的转换。 第7步 - 添加更多应用程序 在这一步中,我们将在我们的剧本中配置另外两个应用程序。...完成后,您会注意到一些任务被更改,如果您仔细查看,您会注意到每个循环项目都会被列出。首先,我们的原始应用程序应该说ok或者skipped,而新的两个应用程序应该说changed。

    8.7K00

    【Mysql】Working with time zones, timestamps and datetimes in Laravel and MySQL

    时区可根据每个连接进行设置。只要时区设置保持不变,就会返回存储的相同值。...Well, Laravel conveniently does that for you via the config/app.php timezone setting.Laravel 可以通过配置/app.php...假设我们最初保存的日期是令牌的创建日期,而生成令牌后已经过去了 30 分钟。我们现在希望查看令牌是否过期。...为此: 我们使用 now() 获取当前时间(由于我们更改了应用程序的时区,因此现在根据 Europe/Tallinn 时区生成日期),得到 2023-10-13 17:30:00我们从数据库中得到令牌的创建时间...However, this is a risky bet to make.如果不更改时区配置,在不同时区运行数据库和 Laravel 应用程序似乎很安全。然而,这样做是有风险的。

    16130
    领券