- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的 app/config/app.php 有
'url' => 'http://dev.domain.com/something/somethingElse'
然后我有一个可以从应用程序和 artisan 命令调用的函数。但是 URL::route('myRoute')
返回不同的结果。当从应用程序调用时,它返回 http://dev.domain.com/something/somethingElse/myRoute
,但在 artisan 命令 http://dev.domain.com/myRoute
.
URL::to
具有相同的行为。
注意:我没有为可能覆盖全局环境的其他环境定义任何其他 app.php 文件。
知道为什么会这样吗?谢谢!
最佳答案
Laravel 生成的 URL 由许多部分组成:
http://
、https://
等dev.domain.com
、localhost
等something/somethingElse
(网络服务器上的子目录)myRoute
, (Laravel 路由参数)然后将这些部分连接起来形成 URL。
最终,Laravel 使用 $_SERVER
请求变量生成 URL。 Symfony\Component\HttpFoundation\Request
中的函数 prepareBaseUrl()
最终用于确定 URL 的base 部分。
当您通过 Web 浏览器发出请求时,请求会转到 ~/public/index.php
并且必要的 $_SERVER
变量会填充正确的信息让 Laravel 填充 URL 的 base 部分。
但是,当您在命令行上使用 Artisan 发出请求时,请求会转到 ~/artisan
脚本。这意味着 $_SERVER
变量的填充方式不同,Laravel 无法确定 URL 的 base 部分;相反,它返回一个空字符串 ''
。
据我所知,Laravel 团队似乎没有兴趣让应用程序在子目录中开箱即用,例如Bugfix: domain routing for subfolder .
我最终按照@medowlock 描述的方式解决了这个问题,我的脚本将从命令行调用,例如:
Config::get('app.url') 。 URL::route('route.name', ['parameter'=>'value'], false)
这将连接 app/config/app.php
中设置的应用程序 URL 和相对 URL 路由。
关于php - Laravel - Artisan 给出了错误的基本 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25750604/
在全新的 Laravel 安装中,我正在运行 php artisan migrate 并且它正在返回: [Illuminate\Database\QueryException]
是否可以为 创建 Artisan 调用或命令 php artisan migrate 喜欢 Artisan::call('migrate); 因此,当连接动态更改时,我可以将丢失的表迁移到我的数据库。
我想创建一个别名,例如 php artisan go 而不是 php artisan 服务 我会感激任何其他想法:-)。我也读过这篇文章link并搜索了很多,但不太清楚,其他问题是关于制作 class
我在 Horizon 中使用 Laravel 队列和 Redis。Supervisor 正在运行 artisan horizon,它会生成进程 /usr/bin/php7.2 artisan
我在内核命令中工作,我需要更改旧命令: 旧命令是: php artisan crawl:author 现在我需要将其重命名为: php artisan crawl-bq:author 在我的命令文件签
我决定测试新的 Laravel。所以我从基本命令开始: $ laravel new blog $ php artisan make:auth $ php artisan migrate 我编辑了 Ap
在 Laravel 中注意到有两种方法可以清除缓存 php artisan cache:clear 和 php artisan config:cache 但是我意识到只有第二个在更改本地化、添加 la
我正在做一个 Lumen 项目。 我尝试使用 Artisan::call('my-command') 但是 PHP 说我没有定义 Artisan 类。 我已经使用以下命令启用了 Facade: $ap
那么 php artisan serve 到底在做什么呢?我目前有一个在 apache 上运行的站点,我正在尝试建立一个 websocket 框架以进行实时聊天。 websocket是一个后台运行的p
通常我会运行像这样的 laravel artisan 命令 php artisan Command -v 如果出现错误,我可以使用 -v 标志找到文件/行号。 出于某种原因,-v 不适用于我的命令之一
主表 POll public function up() { Schema::create('poll', function (Blueprint $table) {
您好,我在使用 php artisan migrate 在我的 vps 服务器上进行迁移时遇到问题。我已经安装了apache2和mysql。我可以通过 mysql -u root -p 使用密码“pa
由于某种原因,每当我运行任何 php artisan 命令时,我都会收到一条错误消息,指出我的一个表不存在。这是真的,我正在开始一个新的数据库。我不明白的是, artisan 到底为什么需要使用这张
我正在设置 Laravel 环境。所以,我下载了 XAMPP 并相应地配置了我的 vhost 文件。然后,我设置 MySQL 并运行以下命令: Composer 安装 npm 安装 php artis
我在我的 Mac 上运行本地 MAMP 机器。 Laravel 在生产环境中运行。 Laravel 能够在我通过浏览器显示的 php 页面上访问 MySQL 数据库,但是当我在终端中运行 php ar
我已经将我的 Laravel 5.5 项目上传到 centOS7 服务器。现在,当我第一次运行“php artisan migrate”加载数据库表时,我遇到了以下错误。 Error message
我正在运行一个基本的 artisan command test但是 phpunit 提示 This test did not perform any assertion。但是我断言了退出代码。 pub
我正在 Azure 上运行 Laravel 应用程序。事情正在朝着正确的方向发展,composer install 根本不起作用。然而现在,“php artisan optimize”命令超时了: 但
当我尝试运行 artisan 命令 php artisan route:list 时出现以下错误: [Symfony\Component\Debug\Exception\FatalErrorExcep
今天我遇到了一个我以前从未遇到过的非常奇怪的情况,而且在任何地方都找不到解决办法。 每当我在控制台中键入 php artisan 时,它都不会返回任何内容。尝试多次克隆 repo(在此处的其他机器上运
我是一名优秀的程序员,十分优秀!