我有一个需要运行shell脚本的Laravel应用程序,为此我使用的是exec()。 shell脚本创建了一个我想要存储在我的存储文件夹中的文件,但是shell脚本需要存储文件夹的路径。
如果我使用storage_path(),它返回类似“/ home / vagrant / project / storage”的东西,它在我的web应用程序中引用内容时工作正常,但就shell脚本而言是不正确的。 宅基地的正确路径是:〜/项目/存储以及实时/暂存,它将类似于/ var / www / project / storage。
是否有一种优雅的方式让Laravel获得传递给shell脚本的确切路径,或者我将不得不在我的.env文件中指定它并使用它?
答案 0 :(得分:1)
storage_path()返回的默认值始终指向项目根目录中的 storage / 文件夹。无论您将项目应用程序放在哪个文件夹中,帮助程序返回的值都是正确的。
如果要更改 storage_path 的默认值,可以使用 App :: useStoragePath($ path)执行此操作。如果此值对于不同的环境应该不同,则需要阅读 .env 文件中的路径 - 它的用途是什么。
App::useStoragePath(env('STORAGE_PATH'));