shell脚本的Laravel存储路径


Laravel storage_path for shell script

我有一个Laravel应用程序,它需要运行shell脚本,为此我使用exec()。shell脚本创建一个文件,我想将其存储在存储文件夹中,但是shell脚本需要存储文件夹的路径。

如果我使用storage_path(),它会返回类似于"/home/farranget/project/storage"的内容,当涉及到在我的web应用程序中引用东西时,它运行良好,但就shell脚本而言是不正确的。宅基地上的正确路径是:~/project/storage,而在现场/舞台上,它将类似于/var/www/project/storage。

有没有一种优雅的方法可以让Laravel获得传递到shell脚本的确切路径,或者我必须在.env文件中指定它并使用它?

storage_path()返回的默认值始终指向项目根目录中的storage//strong>文件夹。无论您将项目应用程序放在哪个文件夹中,助手返回的值都是正确的。

如果要更改storage_path的默认值,可以使用App::useStoragePath($path)进行更改。如果这个值对于不同的环境应该不同,您需要从.env文件中读取路径,这就是它的用途。

App::useStoragePath(env('STORAGE_PATH'));