Запуск Puppeteer из PHP неожиданно перестал работать - PullRequest
1 голос
/ 03 мая 2019

Мы не делали никаких недавних обновлений.

Мы пытаемся запустить этот код JavaScript (createpdf.js)

    const puppeteer = require('/home/glossyadmin/node_modules/puppeteer');
    const InvoiceNumber = process.argv[2];
    const PDFdir = __dirname + '/../email/invoice/';

    (async () => {
    const browser = await puppeteer.launch({args: ['--no-sandbox']});
    const page = await browser.newPage();
    await page.goto('http://localhost:8080/admin/ajax/invoice?InvoiceNumber=' + InvoiceNumber + '&Print=Print', {waitUntil: 'networkidle2'});

   await page.pdf({path: PDFdir + InvoiceNumber + '.pdf', format: 'A4'});
   await browser.close();
    })();

Мы вызывали код выше с помощью этого сценария PHP:

$Vars = json_decode(urldecode(@$argv[1]), true);
$InvoiceNumber = $Vars['InvoiceNumber'];
$createScript = $_SERVER['DOCUMENT_ROOT'] . '/admin/workers/createpdf.js';
exec("node $createScript 2>&1 ".escapeshellarg($InvoiceNumber), $arrayReturn);

Работало, но в последнее время просто остановилось.Код кажется хорошим (без ошибок PHP в журнале ошибок), но он больше не вызывает / не выполняет скрипт createpdf.js.И мы убедились, что узел фактически установлен.

Мы не обновляли PHP, Node или какие-либо другие обновления.Мы попытались изменить разрешения для файлов и каталогов.Ничего не меняетсяХлопнув головой в стену здесь.

1 Ответ

0 голосов
/ 06 мая 2019

После того, как вы продолжили копать и узнавать, что все больше и больше людей сталкиваются с этой проблемой практически без исправлений. Я нашел другой поток в stackoverflow, в котором говорилось о ком-то, кто обновил свою версию кукловода, и она внезапно перестала работать.

Мы вообще не делали никаких обновлений для кукловода, узла или системы, но все еще не работали. Я воспользовался очень простым советом в комментариях к этой теме: Скрипт Puppeteer неожиданно перестал работать после обновления Puppeteer

Удалите весь каталог node_modules и переустановите puppeteer.
Не уверен, почему именно, но это сработало. Я бы хотел, чтобы там было больше информации. К счастью, это быстрая установка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...