현재 PHP의 proc_open
기능을 사용하는 Symfony Process 구성 요소를 사용하고 있습니다. 나는이 양식이있는, wkhtmltopdf
에 명령을 실행해야합니다 나는 내 껍질에 직접 명령을 실행하면PHP proc_open 및 exec timeout하지만 cli가 정상적으로 작동합니다.
/usr/local/bin/wkhtmltopdf --window-status "___RENDER_PDF___" --orientation "portrait" --run-script "window.basilOptions = {storages: ['memory'] }; document.body.addEventListener('status:app:rendered', function() { window.status = '___RENDER_PDF___'; });" "http://localhost/p/lps#poll/lpsp002" "/tmp/pdf_d6fbWO"`
, 그것은 잘 작동하고 약 6 초 실행하는 데 많은 시간이 소요됩니다. 그러나 프로세스 구성 요소와 함께 PHP를 사용하면 시간 초과가됩니다 ... 그리고 exec
또는 proc_open
함수를 사용하면 무한정 실행됩니다. 프로세스 구성 요소의 기본 시간 초과는 60 초입니다 (심지어 확장해도 효과가 없습니다).
나는 이것을 PHP 5.4와 PHP 5.5에서 시도했지만, 결과는 같았다.
이 명령이 셸에서는 정상적으로 실행되지만 PHP에서는 정상적으로 실행되지 않는 이유는 무엇입니까? MAMP 환경 (5.4 및 5.5 버전)이 아닌 MAMP에서 테스트되었습니다. 그것은 우분투 14.04에서 PHP 5.5와 함께 작동합니다.
PHP와 MAMP를 통과 할 때 프로세스가 완료 될 수 있지만 여전히 this bug으로보고 된 것처럼 멈춘 것으로 생각했습니다. PDF가 실제로 생성되는지 여부를 확인하기 위해 추가 정보가 필요할 때 업데이트 할 것입니다.
감사합니다.
왜 당신은 그냥 사용하지 않는 렌더링 후
session_start();
를 추가하려면 - HTTP : //knpbundles.com/KnpLabs/KnpSnappyBundle? – dmnptrSymfony Process 구성 요소를 직접 사용하는 것이 더 빠르며, 약간의 매개 변수를 먼저 만들어야합니다. 그러나 문제는 어쨌든 똑같을 것입니다 ... – Talus