Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel供应商:发布目录权限问题_Php_Laravel_Laravel 5 - Fatal编程技术网

Php Laravel供应商:发布目录权限问题

Php Laravel供应商:发布目录权限问题,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在构建一个包,当调用phpartisanvendor:publish时,它需要发布到这些目录 目录包括 public_path('vendor/package/assets') resources_path('vendor/package/views') resources_path('vendor/package/translations') 当我运行试图写入这些目录的vendor:publish时,我收到与权限相关的错误 但是vendor:publish适用于数据库路径(“迁移”) L

我正在构建一个包,当调用
phpartisanvendor:publish
时,它需要发布到这些目录

目录包括

public_path('vendor/package/assets')
resources_path('vendor/package/views')
resources_path('vendor/package/translations')
当我运行试图写入这些目录的
vendor:publish
时,我收到与权限相关的错误

但是
vendor:publish
适用于
数据库路径(“迁移”)

Laravel需要775权限才能进行
存储
引导/缓存

我不想让包用户被迫对公共和资源目录授予写权限

注意:我的包已经使用$this->loadViewsFrom、$this->loadTranslationsFrom和$this->loadMigrationsFrom作为默认选项。我希望让我的软件包用户完全可以修改视图、翻译、迁移等。我的软件包还需要将一些资产发布到
public
目录,如js、css等,这对于某些视图来说是非常必要的


关于
artisan供应商:publish
,我缺少什么?我该如何让它工作?

在包的服务提供商
引导
方法中,您应该依赖
加载视图from
加载翻译from
方法来正确包含视图和翻译文件:

public function boot()
{
    $this->loadViewsFrom(__DIR__.'/path/to/views', 'courier');
    $this->loadTranslationsFrom(__DIR__.'/path/to/translations', 'courier');
}
有关包含视图的更多信息,请参阅和翻译

如果您希望发布文件,而不是仅加载文件以供使用,请使用
publishes
方法:

public function boot()
{
    $this->publishes([
        __DIR__.'/path/to/assets' => public_path('vendor/courier'),
    ]);
} 

在软件包的服务提供商
boot
方法中,您应该依靠
loadViewsFrom
loadTranslationsFrom
方法正确地包含视图和翻译文件:

public function boot()
{
    $this->loadViewsFrom(__DIR__.'/path/to/views', 'courier');
    $this->loadTranslationsFrom(__DIR__.'/path/to/translations', 'courier');
}
有关包含视图的更多信息,请参阅和翻译

如果您希望发布文件,而不是仅加载文件以供使用,请使用
publishes
方法:

public function boot()
{
    $this->publishes([
        __DIR__.'/path/to/assets' => public_path('vendor/courier'),
    ]);
} 

谢谢你的贡献。我的包已经使用$this->loadViewsFrom、$this->loadTranslationsFrom和$this->loadMigrationsFrom作为默认选项。我希望让我的软件包用户能够完全访问修改视图、翻译、迁移等。我的软件包还需要将一些资产发布到“公共”目录,如js、css,这对于某些视图来说是非常必要的。您是否使用
$this->发布
?感谢您的贡献。我的包已经使用$this->loadViewsFrom、$this->loadTranslationsFrom和$this->loadMigrationsFrom作为默认选项。我希望让我的软件包用户完全可以修改视图、翻译、迁移等。我的软件包还需要将一些资产发布到“公共”目录,如js、css,这对于某些视图非常必要。您是否使用
$this->publishes