问题标签 [laravel-envoyer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel - Laravel - Envoyer 目录结构的通用 Apache 500 错误
我正在尝试使用 Envoyer 将我的 Laravel 5 站点部署到我的 VPS。我将站点的 Apache 设置中的文档根更改为/current/public
(下面的设置),当我这样做时,我收到一个通用的 Apache 500 错误。如果我使用旧public
目录,一切都会正确加载。
我也试过chmod 777 -R storage
了,没有运气。Laravel 日志中没有日志条目,一切都部署得很好,没有错误。
我确实注意到,如果我创建一个纯 HTML 文档并通过 Envoyer 部署它,我可以直接使用/current/public
文档根目录访问它,与 Laravel 相关的任何内容(并且仅使用current/public
)都会导致 500。
想法?符号链接会是一个可能的解决方案吗?奇怪的是,我在另一个 Envoyer 站点上的 Forge 配置将文档根设置为public
,但current/public
我看不到任何符号链接。由于某种原因,它可能被设置为current/public
并且只是不显示。
laravel - 为什么 Voyager 在直播时不显示我的管理仪表板?| 锻造、航海者和 Laravel
我正在创建一个 Laravel 电子商务应用程序。我在 youtube 上关注本教程:https ://www.youtube.com/watch?v=L3EbWJmmyjo&list=PLEhEHUEU3x5oPTli631ZX9cxl6cU_sDaR&index=18
对于网站的管理部分,我使用的是 Voyager。在我的本地主机上,一切似乎都运行良好:
登陆页面(http://localhost:8000):
然后当我输入链接:http://localhost:8000/admin 时,它会将我带到 http://localhost:8000/admin/login:
然后我输入这些凭据(图像也显示数据库)。如您所见,凭据匹配,当我按下登录时,我被带到仪表板:
到目前为止所有的屏幕截图都在我的本地主机上。当我尝试在我的实时网站上安装 Voyager 时,它停止工作!这是我的实时网址:https ://janinevalerieaesthetics.com
我正在使用 Forge 和 Envoyer 进行托管。他们正在使用我的 GitLab 帐户进行链接:https ://gitlab.com/rossi99/salonwebsite
我使用 ssh 通过我的终端使用以下链接连接到我的 Forge 服务器:ssh forge@janinevalerieaesthetics.com
然后我一直 cd 进入当前目录(包含我所有文件夹的目录,包括“供应商”文件和“工匠”),然后我使用 php artisan 命令安装 voyager 包(https://voyager- docs.devdojo.com/getting-started/installation):
- 更改 .env 文件:
安装步骤:
我的.env:
安装步骤:
我的.env:
我从我的终端 forge@salonWebsite:~/janinevalerieaesthetics.com/current$ 运行这个命令:
然后我使用这个命令从同一个终端创建一个用户:
这是我的实时数据库表:
这是角色表(您可以看到 ID 为 1 的用户是管理员):
但是当我导航到https://janinevalerieaesthetics.com/admin/login时,它会显示登录屏幕:
但是,当我使用正确的凭据登录时,它不是让我登录并显示管理仪表板,而是让我登录并带我进入登录页面,当我尝试手动登录时,它只会将我重定向到登录页面页:
php - 升级到 Laravel 8 后的 Guzzle/Nexmo 问题
我最近对这个网络应用程序进行了相当大的更新,并且在大多数情况下它顺利进行了......直到应用程序尝试从登台/生产发送短信通知。
从 laravel 7.x 升级到 8.x 非常简单直接。同时我们也安装了 Laravel Horizon。一切都按计划进行,并且在本地一切正常。
但是,当我们部署到登台/生产时,排队的 SMS 通知会失败,并出现以下异常:
ReflectionException:/home/forge/dev.example.com/releases/20210609194554/vendor/laravel/framework/src/Illuminate/Container/Container.php:836 中不存在类 Http\Adapter\Guzzle6\Client
查看堆栈跟踪,我们可以看到 Nexmo 是罪魁祸首:
#5 /home/forge/dev.example.com/releases/20210609194554/vendor/nexmo/laravel/src/NexmoServiceProvider.php(150): Illuminate\Foundation\Application->make()
然而,在我们的 composer.json 文件中,我们需要 Guzzle 7 具有以下内容:
"guzzlehttp/guzzle": "^7.3",
在这一点上再次值得一提的是,我在本地发送 SMS 没有问题,本地和暂存环境的主要区别在于,我在本地使用 Laravel Valet,而 Staging 使用 Laravel Envoyer。
到目前为止我已经尝试过:
- 更改
"guzzlehttp/guzzle": "^7.3"
为"guzzlehttp/guzzle": "^6.5|^7.3"
- 手动运行
php artisan horizon:purge
和php artisan horizon:terminate
在部署挂钩中运行。 - 在 forge 上重新启动 laravel Horizon 守护进程。
- 试
php artisan queue:restart
- 跑步
composer dump-autoload
和composer dump-autoload -o
- 从 current/ 中删除 composer.lock 和 vendor/ 目录,然后运行
composer install
- 重新启动 PHP、Nginx,并最终重新启动整个服务器 :(
和更多...
任何帮助是极大的赞赏
更新如下:
完整的composer.json:
此外,我的 nexmo 配置文件没有任何用于 http_client 的内容,也许这是我错过的升级步骤。因此,对于nexmo 的http_client,我的.env 文件中没有任何内容。我也将开始研究这个。
nexmo.php
laravel - Laravel Envoyer Bitbucket 权限问题
如果有人在使用 Envoyer,那么他们可以在这里帮助我。
我使用 Bitbucket 作为版本控制,并与 Envoyer 建立了联系。
当我们创建项目并插入存储库详细信息时,它会给出错误,您确定您有权访问它吗?
我们不能继续使用私有 bitbucket 存储库吗?
我们是否总是需要公开存储库?