LaravelでPDFを作成するときはSnappyというパッケージを利用しているのですが、大量のPDFを一度に作ろうとしたところ、次のエラーが表示されました。
「exceeded the timeout of 60 seconds」は60秒のタイムアウトを超えたということですが、それならその60秒の設定をどこで行っているかといいますと、config/snappy.phpです。
下記のようにtimoutのところを3600秒まで実行されるように修正します。
'pdf' => array( 'enabled' => true, 'binary' => '/usr/local/bin/wkhtmltopdf', 'timeout' => 3600, // デフォルトでは「false」となっています 'options' => array(), 'env' => array(), ), 'image' => array( 'enabled' => true, 'binary' => '/usr/local/bin/wkhtmltoimage', 'timeout' => 3600, // デフォルトでは「false」となっています 'options' => array(), 'env' => array(), ),
これでエラーは発生せずに、最後まで出力されるようになりました。
この設定を行っても解決しない場合は、php.ini内の max_execution_time や max_input_time なども確認してみてください。