Laravel 5.4在开发模式下检测变量但不在生产模式下检测变量

时间:2017-03-30 20:10:24

标签: laravel laravel-5

我正在学习laravel,为了练习,我正在研究一个项目。当该应用程序在本地计算机上运行时,它可以完美地工作,但在实时服务器中它并不是。这里有什么不对?我知道它有点奇怪,但却无法弄明白。

这是我的观点

@foreach($product_details as $product_detail)
    <div data-repeater-item class="mt-repeater-item">
        <div class="mt-repeater-row">
            <div class="col-md-2"></div>
            <div class="col-md-3">
                <label class="control-label">Title</label>
                <input type="hidden" name="indicator_id" value="{{$product_detail->id}}">
                <input name="title" type="text" placeholder="Title" class="form-control" value="{{$product_detail->title}}" /> </div>
            <div class="col-md-6">
                <label class="control-label">Description</label>
                <textarea name="description" type="text" placeholder="Description" class="form-control description content" >{{$product_detail->description}}</textarea> </div>
            <div class="col-md-1">
                <a href="javascript:;" data-repeater-delete class="btn btn-danger mt-repeater-delete">
                    <i class="fa fa-close"></i>
                </a>
            </div>
        </div>
    </div>
@endforeach

这是控制器

$product_details = IndicatorDetails::where('indicator_id',$id)->get();

return view('admin.indicator.indicator_edit')->with('product_details',$product_details);

和模型

class IndicatorDetails extends Model
{
    protected $fillable = ['title','description','indicator_id'];
    public function indicator()
    {
        return $this->belongsTo(Indicators::class);
    }
}

提前致谢。

3 个答案:

答案 0 :(得分:2)

您可以尝试更改存储目录的所有权,以便缓存可以写入,并且laravel.log可以写入。

这可以通过chgrp来实现  和chown命令:

sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache

答案 1 :(得分:1)

在实时服务器上,您可以尝试执行

php artisan view:clear

清除视图缓存。

之前发生的事情是,每次我部署到实时服务器时,我都必须重启php5-fpm。

答案 2 :(得分:0)

我用我的本地替换了实时服务器的vendor文件夹,但它确实有效。