如何知道 Laravel 版本以及它在哪里定义?

Posted

技术标签:

【中文标题】如何知道 Laravel 版本以及它在哪里定义?【英文标题】:How to know Laravel version and where is it defined? 【发布时间】:2017-11-22 02:20:44 【问题描述】:

Laravel 版本是定义在我的应用程序目录中还是在全局服务器端目录中的某个位置?

更新

抱歉,主要问题是版本是在哪里定义的?哪里有

php artisan --version

接受它的答案吗?

更新 2

我们的目标是调查谁(我们)更改了我们网站上的 Laravel 版本。只能由 github 存储库版本更改吗?或者还需要服务器写入权限?

【问题讨论】:

你想在你的代码中使用版本吗? 【参考方案1】:

从您的控制台运行 php artisan --version

版本字符串在这里定义:

https://github.com/laravel/framework/blob/master/src/Illuminate/Foundation/Application.php

/**
 * The Laravel framework version.
 *
 * @var string
 */
 const VERSION = '5.5-dev';

【讨论】:

composer.json 也看看 :) @NikolaSpalevic 这是我的第一个想法,但是使用语义版本号,您将看不到补丁号。如果你运行 artisan 命令,你会的。 @btl 请也回答第二部分,它是在哪里定义的? 很好地提到 Application.php,因为 Laravel 有时似乎不知道它的版本。我的 composer.json 说“5.6.*”,常量知道它是“5.6.18”,但是使用“artisan --version”给了我:“Laravel Framework 7.8.1”——它甚至不存在。【参考方案2】:
  1)  php artisan -V

  2)  php artisan --version

以及它在 composer.json 文件中的定义

"require": 
        ...........
        "laravel/framework": "^6.2",
        ...........
    ,

【讨论】:

composer.json 应该是真正的答案,您甚至无需在系统中安装 PHP 就可以知道它是哪个版本。【参考方案3】:

如果你想知道具体的版本那么你需要检查composer.lock文件并搜索

“名称”:“laravel/框架”,

你会在下一行找到你的版本

“版本”:“v5.7.9”,

【讨论】:

除非您想要 5.4.*,以便您可以安装安全补丁。那么它仍然不会告诉你版本号:)【参考方案4】:

如果您想知道代码中的用户版本,那么您可以使用 app() 辅助函数

app()->version();

在这个文件中定义../src/Illuminate/Foundation/Application.php

希望它会有所帮助:)

【讨论】:

【参考方案5】:

案例 - 1

在您的项目中运行此命令..

php artisan --version  

你会像这样在你的系统中安装 laravel 版本..

案例 - 2

也可以在root目录下的composer.json文件中查看laravel的版本。

【讨论】:

【参考方案6】:

第 1 步:

转到:/vendor/laravel/framework/src.Illuminate/Foundation

第 2 步:

打开 application.php 文件

第三步:

搜索“版本”。以下为版本号。

【讨论】:

欢迎提供解决方案的链接,但请确保您的答案在没有它的情况下有用:add context around the link 这样您的其他用户就会知道它是什么以及为什么会出现,然后引用最相关的内容您链接到的页面的一部分,以防目标页面不可用。 Answers that are little more than a link may be deleted. 应重新格式化此答案以使链接呈现为图像。如果这样做,您将不太可能被标记为低质量。【参考方案7】:

在 cmd 中的项目文件夹位置运行此命令

php artisan --version

【讨论】:

【参考方案8】:

另一种方法是读取composer.json文件,但它可以以通配符*结尾

【讨论】:

不正确。 composer.json 不显示已安装的版本。它显示所需的最低版本和升级策略。如果您升级了您的应用程序,它可能与您的composer.json 不匹配。相反,您应该查看composer.lock,该文件显示了所有依赖项的当前安装版本。【参考方案9】:

在你的 Laravel 部署中它会是

/vendor/laravel/framework/src/Illuminate/Foundation/Application.php

要查看谁更改了您的 Laravel 版本,请查看 composer.json 中定义的内容。如果你有 "laravel/framework": "5.4.*",那么它会在 composer update 运行后更新到最新的。 Composer.lock 是运行作曲家更新所产生的文件,因此请真正查看最后一个修改 composer.json 文件的文件是谁(希望您在版本控制中拥有它)。你可以在这里阅读更多关于它的信息https://getcomposer.org/doc/01-basic-usage.md

【讨论】:

【参考方案10】:

您也可以与作曲家核实:

composer show laravel/framework

【讨论】:

【参考方案11】:

我们可以通过多种方式找到 laravel 版本,例如,

使用命令

php artisan --version
  or
php artisan -v

来自 Composer.json

来自供应商目录

/vendor/laravel/framework/src/Illuminate/Foundation/Application.php

【讨论】:

【参考方案12】:

如果你和我一样想在页脚显示 Laravel 版本和应用程序版本,你可以在 AppServiceProvider 中创建 Blade 指令。 Blade 指令放置在 AppServiceProvider 的引导方法中,示例代码可能类似于


Blade::directive('laravelVersion', function () 
    return "<?php echo app()->version(); ?>";
);

然后在刀片模板中,您将其称为@laravelVersion,它将显示当前的laravel版本。

如果你愿意,你可以阅读更多关于刀片指令here

【讨论】:

以上是关于如何知道 Laravel 版本以及它在哪里定义?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Laravel 制作自定义主题以及在哪里存储主题数据?

如何创建一个 laravel 哈希密码

如何知道 var_dump 函数在哪里使用? [关闭]

我在哪里把我的自定义类和函数放在 Laravel 中

Laravel 5 - 我应该在哪里编写这个函数,以及如何编写?

Laravel 中基于角色的 ACL