无法使Laravel-Filemanager在远程服务器上的子文件夹中工作

时间:2019-02-02 14:58:34

标签: laravel ckeditor filepath

在我的Laravel 5.7站点中,我将Ckeditor和Laravel-Filemanager一起使用。按照所有安装说明进行操作后,我发现它在本地可以正常工作。没问题。但是我无法在远程Web服务器上使用它。

在远程服务器上,我已将Laravel应用放在Webroot下方2层的子文件夹中。

在我的刀片服务器模板中,我有这个(我尝试在选项url中同时使用资产和url帮助器,并且它们都在本地工作):

<script src="{{ asset('vendor/unisharp/laravel-ckeditor/ckeditor.js') }}"></script>
<script>
    var options = {
    filebrowserImageBrowseUrl: "{{ url('/laravel-filemanager?type=Images') }}",
    filebrowserImageUploadUrl: "{{ url('/laravel-filemanager/upload?type=Images&_token=') }}"
};
</script>
<script>
    CKEDITOR.replace('editor1', options);
</script>

当我想通过在本地环境中单击Browse server按钮在CKeditor中上传图像时,它应能正常工作,并且URL在Laravel File Manager中看起来像这样(“ laravel /”是webroot) :

http://laravel/laravel-filemanager?type=Images&CKEditor=editor1&CKEditorFuncNum=0&langCode=sv

当我在远程服务器中执行相同的操作时,URL如下所示:

http://www.myremoteserver.com/subfolder1/subfolder2/public/laravel-filemanager?type=Images&CKEditor=editor1&CKEditorFuncNum=0&langCode=sv

... ,我得到的只是404。

我试图清除路由,配置和站点缓存。我还试图在远程环境中复制上面的URL,并将其粘贴到不带/ public /部分的新窗口中。

有没有人可以猜测发生了什么?所有帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

请与我分享一下,当您单击发送到服务器时,ckeditor是如何上传文件的,因为我已经搜索了大约2天,但现在还没有解决方案。 我使用laravel 5.7 和unisharp laravel-filemanager,但未找到解决方案。 我只看到添加config.filebrowserUploadMethod = 'form';ckeditor congi.js中,但是即使添加之后,我仍然没有任何解决方案。 其他一切似乎都正常。 请让我很高兴得到您的帮助

答案 1 :(得分:0)

我终于使它起作用了。我清除了Web服务器文件夹,然后从头开始手动重新上传了所有文件,而不是通过克隆GIT存储库来完成。然后它起作用了。所以我实际上不知道出什么问题了。

无论如何,我将以下代码片段添加到我的刀片模板中想要CKeditor的位置:

<textarea id="editor1" name="story" class="form-control">{{ $story }}</textarea>

位于刀片模板底部附近,就在@endsection之前。

  <script src="{{ asset('vendor/unisharp/laravel-ckeditor/ckeditor.js') }}"></script>
    <script>
        var options = {
            filebrowserImageBrowseUrl: "{{ url('/laravel-filemanager?type=Images') }}",
            filebrowserImageUploadUrl: "{{ url('/laravel-filemanager/upload?type=Images&_token=') }}"
        };
    </script>
    <script>
        CKEDITOR.replace('editor1', options);
    </script>

请务必按照文件管理器说明进行发布:

php artisan vendor:publish --tag=lfm_config
php artisan vendor:publish --tag=lfm_public

清除缓存:

php artisan route:clear
php artisan config:clear

还要检查您的公共目录中是否存在vendor文件夹,其中包含CKeditor和Laravel filemanager文件夹,否则asseturl助手将无法工作。还要在开发窗口(浏览器中为F12)中检查您当前到ckeditor.js的路径。