Php 超过了Laravel 5 barryvdh/Laravel DOMPF时间

Php 超过了Laravel 5 barryvdh/Laravel DOMPF时间,php,pdf,laravel-5,Php,Pdf,Laravel 5,我在我的项目中使用DOMPDF,在我的系统中实现之前,我做了一些测试,但每次我运行服务时,它显示超过了60秒, 首先,我创建了一个控制器: public function invoice() { $data = $this->getData(); $date = date('Y-m-d'); $invoice = "2222"; $view = \View::make('pdf.invoice', compact

我在我的项目中使用DOMPDF,在我的系统中实现之前,我做了一些测试,但每次我运行服务时,它显示超过了60秒, 首先,我创建了一个控制器:

 public function invoice() 
    {
        $data = $this->getData();
        $date = date('Y-m-d');
        $invoice = "2222";
        $view =  \View::make('pdf.invoice', compact('data', 'date', 'invoice'))->render();
        $pdf = \App::make('dompdf.wrapper');
        $pdf->loadHTML($view);
        return $pdf->stream('invoice');
    }

    public function getData() 
    {
        $data =  [
            'quantity'      => '1' ,
            'description'   => 'some ramdom text',
            'price'   => '500',
            'total'     => '500'
        ];
        return $data;
    }
然后我添加路线:

Route::get('pdf', 'PdfController@invoice');
我添加的最后一部分是视图中的一个文件夹,名称为pdf,文件名为invoice.blade.php:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Example 2</title>
    <link rel="stylesheet" href="{{asset('plugins/bootstrap/css/bootstrap.css')}}">
  </head>
  <body>

    <main>
      <div id="details" class="clearfix">
        <div id="invoice">
          <h1>INVOICE {{ $invoice }}</h1>
          <div class="date">Date of Invoice: {{ $date }}</div>
        </div>
      </div>
      <table border="0" cellspacing="0" cellpadding="0">
        <thead>
          <tr>
            <th class="no">#</th>
            <th class="desc">DESCRIPTION</th>
            <th class="unit">UNIT PRICE</th>
            <th class="total">TOTAL</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td class="no">{{ $data['quantity'] }}</td>
            <td class="desc">{{ $data['description'] }}</td>
            <td class="unit">{{ $data['price'] }}</td>
            <td class="total">{{ $data['total'] }} </td>
          </tr>

        </tbody>
        <tfoot>
          <tr>
            <td colspan="2"></td>
            <td >TOTAL</td>
            <td>$6,500.00</td>
          </tr>
        </tfoot>
      </table>
  </body>
  <script src="{{asset('plugins/jquery/js/jquery-2.1.4.js')}}"></script>
  <script src="{{asset('plugins/bootstrap/js/bootstrap.js')}}" ></script>
</html>

例2
发票{{$INVOICE}
发票日期:{{$Date}
#
描述
单价
全部的
{{$data['quantity']}
{{$data['description']}
{{$data['price']}
{{$data['total']}
全部的
$6,500.00
URL:
http://localhost:8000/pdf


如果有人能告诉我我的错误在哪里,我真的很感激。

您的脚本执行了超过60秒,并被终止,与Laravel无关,与php无关。默认限制为60秒,存储在php.ini文件中。要临时延长时间限制,您可以在当前脚本中使用以下行if代码,但也可以尝试优化脚本(如果可能)

您可以设置时间限制(0);这样脚本将永远运行- 但是,不建议这样做,您的web服务器可能会捕获您 通过强制HTTP超时(通常约5分钟)退出。你可以 也使用

更新

这可能是名称空间问题。试试这个

$pdf = PDF::loadHTML('your view here ');
    return $pdf->stream();

您的脚本执行了60秒以上,并被终止,与Laravel无关,与php无关。默认限制为60秒,存储在php.ini文件中。要临时延长时间限制,您可以在当前脚本中使用以下行if代码,但也可以尝试优化脚本(如果可能)

您可以设置时间限制(0);这样脚本将永远运行- 但是,不建议这样做,您的web服务器可能会捕获您 通过强制HTTP超时(通常约5分钟)退出。你可以 也使用

更新

这可能是名称空间问题。试试这个

$pdf = PDF::loadHTML('your view here ');
    return $pdf->stream();

我不确定这是否是真正的问题,相反,我认为脚本在单个数组上执行任务花费了太多时间。是的,它花费了太多时间,这就是为什么需要增加脚本的最大执行时间。我正在检查php.ini文件,发现了这个问题,max_execution_time=120。显然问题不在于执行时间,我运行了几次,但sameI还是告诉你了。这是一个结果,而不是原因。我不确定这是否是真正的问题,相反,我认为脚本在单个数组上执行任务花费了太多的时间。是的,它花费了太多的时间,这就是为什么需要增加脚本的最大执行时间。我正在检查php.ini文件,发现了这个问题,max_execution_time=120。显然问题不在于执行时间,我运行了几次,但sameI还是告诉你了。这是结果,而不是原因。您确定您正确设置了laravel dompdf吗?为什么不直接使用
PDF::loadView('PDF.invoice',$data)如文档中建议的那样?您确定正确设置了laravel dompdf吗?为什么不直接使用
PDF::loadView('PDF.invoice',$data)像文档中建议的那样?
$pdf = PDF::loadHTML('your view here ');
    return $pdf->stream();