wkhtmltopdf: Обновил мой сервер Ubuntu и получил "QXcbConnection: Не удалось подключиться к дисплею"


Что-то с "phpwkhtmltopdf" перестало работать.

Запуск в веб-браузере с этим кодом:

    $string = "http://www.google.com";

    // You can add parameter for the constructor call
    $binary = '/usr/bin/wkhtmltopdf';

    $pdf = new Pdf(array(
        // Explicitly tell wkhtmltopdf that we're using an X environment
        // 'use-xserver',
        // Enable built in Xvfb support in the command
           'commandOptions' => array(
           'enableXvfb' => true,
            // Optional: Set your path to xvfb-run. Default is just 'xvfb-run'.
            'xvfbRunBinary' => '/usr/bin/xvfb-run',
            // Optional: Set options for xfvb-run. The following defaults are used.
            //'xvfbRunOptions' =>  '--server-args="-screen 0, 1024x768x24"',
        ),
    ));

    $options = array( 
        // 'page-width' => '216mm', 
        // 'page-height' => '279mm', 
        'page-size' => 'A4', 
        //'dpi' => 96, 
        //'image-quality' => 100, 
        //'disable-smart-shrinking', 
        //'no-outline', 
        //'no-outline',           // option without argument
        'encoding' => 'UTF-8',  // option with argument
        'user-style-sheet' => $cssPath,
        'margin-top'    => 0,
        'margin-right'  => 0,
        'margin-bottom' => 0,
        'margin-left'   => 0
        // 'orientation' => 'portrait', 
        // 'images' => true,
        // 'cookie' => array(),
         //'dpi' => 1000
        // 'image-dpi' => 300
        // Default page options 
        // 'enable-smart-shrinking'
        );

    //$pdf->setOptions( $options );

    $pdf->binary = $binary;
    $pdf->addPage($string);
    $pdf->saveAs(FCPATH."files/weekly_reports/$prod_id-Weekly-Report.pdf");
    var_dump($pdf);

Я получаю его загрузку, загрузку, загрузку и загрузку... мои окна с замазкой начинают работать очень медленно, заставляя процессор подскакивать до 100%. все застревает, пока мне не удастся service apache2 restart или перезапустить virtualbox.

Запуск в командной строке: wkhtmltopdf http://google.com google.pdf

Я получаю следующий вывод:

QXcbConnection: Could not connect to display
Aborted (core dumped)

Единственное, что я делал, это удалял обновления и обновления. PHP5 изменился на 7. Что может быть в чем проблема? Может ли быть случайно удаленная посылка? До сих пор это работало нормально.

Когда я запускаю это в командной строке: xvfb-run wkhtmltopdf http://google.com test.pdf

Это работает, кстати..

Author: Rick Sanchez, 2016-05-08

2 answers

$binary = '/usr/bin/xvfb-run -- /usr/bin/wkhtmltopdf';
 5
Author: Jeremiah, 2016-08-02 22:01:23

Нашел проблему. Был CSS SRC, который был неправильным...

 -2
Author: Rick Sanchez, 2016-05-11 11:21:12