Php https/ssl在通过curl发送HTML时导致问题

Php https/ssl在通过curl发送HTML时导致问题,php,curl,https,wkhtmltopdf,Php,Curl,Https,Wkhtmltopdf,我在一个网站上有一个curl脚本,它使用curl向服务器发出post请求。另一方面,我使用wkhtmltopdf生成一个包含接收到的HTML的PDF,当网站上未启用https时,这可以正常工作,但是一旦启用https,PDF genetation就会抛出错误 我的卷曲脚本 $url = Yii::app()->params['pdfUrl']; //Equals http://xxx.xx.xxx.xxx/server/?r=pdf/generatePdf $bo

我在一个网站上有一个curl脚本,它使用curl向服务器发出post请求。另一方面,我使用wkhtmltopdf生成一个包含接收到的HTML的PDF,当网站上未启用https时,这可以正常工作,但是一旦启用https,PDF genetation就会抛出错误

我的卷曲脚本

$url = Yii::app()->params['pdfUrl']; //Equals http://xxx.xx.xxx.xxx/server/?r=pdf/generatePdf

            $body = array(
                "client_url"=>Yii::app()->params['pdfClientURL'],
                "client_id"=>Yii::app()->params['pdfClientID'],
                "title"=>urlencode($title),
                "content"=>urlencode(($content))

            );
            foreach($body as $key=>$value) { $body_str .= $key.'='.$value.'&'; }
                rtrim($body_str,'&');

            curl_setopt ($c, CURLOPT_POST, true);
            curl_setopt ($c, CURLOPT_POSTFIELDS, $body_str);

            curl_setopt ($c, CURLOPT_RETURNTRANSFER, true);
            $pdf = curl_exec ($c);

            curl_close ($c);
            header("Content-Type: application/pdf");
            header("Cache-Control: no-cache");
            header("Accept-Ranges: none");
            header("Content-Disposition: attachment; filename=".str_replace(' ', '_', $title).".pdf");
            echo $pdf;
            Yii::app()->end();
https会导致什么

我在WKHTML2PDF上遇到的错误

WKPDF system error: <pre>Loading pages (1/6)
[> ] 0%
[======> ] 10%
[===========> ] 19%
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
[============================================================] 100%
Counting pages (2/6)
[============================================================] Object 1 of 1
Resolving links (4/6)
[============================================================] Object 1 of 1
Loading headers and footers (5/6)
Printing pages (6/6)
[> ] Preparing
[============================================================] Page 1 of 1
Done
</pre> 
WKPDF系统错误:加载页面(1/6)
[> ] 0%
[======> ] 10%
[===========> ] 19%
QSslSocket:无法调用未解析的函数SSLv23_client_方法
QSslSocket:无法调用未解析的函数SSL\u CTX\u new
QSslSocket:无法调用未解析的函数SSL\u library\u init
QSslSocket:无法调用未解析的函数ERR\u get\u error
QPixmap:没有使用GUI时无法创建QPixmap
QPixmap:没有使用GUI时无法创建QPixmap
QPixmap:没有使用GUI时无法创建QPixmap
QPixmap:没有使用GUI时无法创建QPixmap
QPixmap:没有使用GUI时无法创建QPixmap
QPixmap:没有使用GUI时无法创建QPixmap
[============================================================] 100%
计算页数(2/6)
[===================================================================================================]对象1,共1个
解析链接(4/6)
[===================================================================================================]对象1,共1个
加载页眉和页脚(5/6)
打印页面(6/6)
[>]准备
[============================================================================]第1页,共1页
多恩
看一看

像CURLOPT_SSL_VERIFYPEER=false这样的东西可能会有所帮助

在该页面中查看与ssl相关的各种选项-您一定会在那里找到答案…

请查看

像CURLOPT_SSL_VERIFYPEER=false这样的东西可能会有所帮助


请浏览该页面,查看与ssl相关的各种选项-您一定会在那里找到答案…

好的,在@Keeyai为我指出正确方向后发现问题。我设法找到了这篇文章,并在安装wkhtml2pdf的服务器上安装了openssl-devel,问题得到了解决。因为问题是由使用https链接的图像引起的


yum install-openssl-devel完成了这个技巧

确定,在@Keeyai为我指出了正确的方向后发现了问题。我设法找到了这篇文章,并在安装wkhtml2pdf的服务器上安装了openssl-devel,问题得到了解决。因为问题是由使用https链接的图像引起的


yum install openssl-devel完成了这个技巧

看起来wkhtml2pdf在ssl下执行时遇到了问题,但我不确定它为什么在ssl中执行任何操作。我的第一个猜测是,由于您使用https进行请求,wkhtml2pdf也尝试使用ssl获取图像。我以前没有在ssl下使用wkhtml2pdf-您可以手动关闭它,或者使用http显式加载图像,甚至本地加载图像吗?另一种方法是修复实际问题,并找出wkhtml2pdf的SSL失败的原因-您自己编译了吗?@Keeyai-No没有编译它myself@Keeyai-这确实是图像,我尝试在PDF中没有任何图像,然后它工作了。所以我需要找到一种方法来做到这一点。我正在使用htaccess强制使用ssl。也许我需要排除.htaccessFound解决方案@Keeyai-安装的openssl-devel-中的图像检查url看起来wkhtml2pdf在ssl下执行时遇到问题,但我不确定它为什么在ssl中执行任何操作。我的第一个猜测是,由于您使用https进行请求,wkhtml2pdf也尝试使用ssl获取图像。我以前没有在ssl下使用wkhtml2pdf-您可以手动关闭它,或者使用http显式加载图像,甚至本地加载图像吗?另一种方法是修复实际问题,并找出wkhtml2pdf的SSL失败的原因-您自己编译了吗?@Keeyai-No没有编译它myself@Keeyai-这确实是图像,我尝试在PDF中没有任何图像,然后它工作了。所以我需要找到一种方法来做到这一点。我正在使用htaccess强制使用ssl。也许我需要排除.htaccessFound the solution@Keeyai-Installed openssl devel-Check-out url中的图像