Laravel gif 无法在 LEMP 服务器上运行
Laravel gif not working on LEMP server
谁能解释一下为什么 gif 在本地开发(使用 laravel 和 Valet)但在 LEMP 服务器上部署项目时不显示。 Gif 存储在服务器上的 storage/app/public 下,此目录与 chmod -R 777 一起使用。setTimeout 工作正常并且仅显示文本,加载程序 div 中缺少背景 gif。我在 blade 模板中的代码:
<script type="text/javascript">
function loading(){
$('body').append('<div class="loader"></div>');
info();
}
}
function info(){
setTimeout(function(){
$('.loader').append('<div class=info>XXX</div>');
}, 2000);
}
</script>
<style>
.loader {
position: fixed;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 9999;
background: url('page-loader.gif') 50% 50% no-repeat rgb(249,249,249);
text-align: center;
font-size: 24px;
}
</style>
编辑位于 /etc/nginx/sites-available/default
的服务器配置。现在添加以下块以使您的服务器能够开始提供图像和其他静态文件。
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
# Set expiry time for static content
expires 1d;
# Set the Cache Control header
add_header Cache-Control "public";
}
按照上面的建议修改了nginx默认文件。仍然没有工作,但后来我将 gif 位置从 storage/app/public 更改为 /public 索引文件在哪里,现在它可以工作了。
更新 - 我发现你必须 运行 "php artisan storage:link" 命令 link 存储到 laravel 中的 public 文件夹才能访问文件存储
谁能解释一下为什么 gif 在本地开发(使用 laravel 和 Valet)但在 LEMP 服务器上部署项目时不显示。 Gif 存储在服务器上的 storage/app/public 下,此目录与 chmod -R 777 一起使用。setTimeout 工作正常并且仅显示文本,加载程序 div 中缺少背景 gif。我在 blade 模板中的代码:
<script type="text/javascript">
function loading(){
$('body').append('<div class="loader"></div>');
info();
}
}
function info(){
setTimeout(function(){
$('.loader').append('<div class=info>XXX</div>');
}, 2000);
}
</script>
<style>
.loader {
position: fixed;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 9999;
background: url('page-loader.gif') 50% 50% no-repeat rgb(249,249,249);
text-align: center;
font-size: 24px;
}
</style>
编辑位于 /etc/nginx/sites-available/default
的服务器配置。现在添加以下块以使您的服务器能够开始提供图像和其他静态文件。
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
# Set expiry time for static content
expires 1d;
# Set the Cache Control header
add_header Cache-Control "public";
}
按照上面的建议修改了nginx默认文件。仍然没有工作,但后来我将 gif 位置从 storage/app/public 更改为 /public 索引文件在哪里,现在它可以工作了。
更新 - 我发现你必须 运行 "php artisan storage:link" 命令 link 存储到 laravel 中的 public 文件夹才能访问文件存储