首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何安装phpwkhtmltopdf

如何安装phpwkhtmltopdf
EN

Stack Overflow用户
提问于 2016-06-01 12:28:20
回答 1查看 7.2K关注 0票数 2

我正在尝试在共享服务器(webhotel)上安装phpwkhtmltopdf。服务器已经安装了composer,我有SSH到服务器。但是我对作曲家不太熟悉,所以我可能在这里做了一些非常基本的错误。

因此,我已经从:https://github.com/mikehaertl/phpwkhtmltopdf下载了zip文件,并将其上的文件解压缩到名为phpwkhtmltopdf的目录中。然后,向dir打开SSH cd并运行composer需要mikehaertl/phpwkhtmltopdf,但我只获得行首的问号。对于问号,我读到它可能是检测unicode的一个问题,所以我放置了htaccess: php_flag detect_unicode Off,并且它现在似乎在本地关闭。

但是仍然存在问号,并且没有安装php wkhtmltopdf。如何安装?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-02 12:59:14

问题是,您要获取包mikehaertl/phpwkhtmltopdf两次:

  • 首先,获取zip并提取它(手动安装)。
  • 然后,运行Composer来要求它(通过Composer安装)。

请决定如何安装软件包!

当您想安装带有Composer的包时,只需要在一个干净的项目文件夹中运行composer require mikehaertl/phpwkhtmltopdf

然后,Composer将获取包并将其放入/vendor文件夹中。

就这样。

现在,为了使用它,您需要两件事:

  1. 您需要在项目的引导过程中包含。这使Autoloader能够在访问一个包/库类时加载库。 // Register定义(‘VENDOR_DIR’,__DIR__ )。“\供应商”。(!is_file(VENDOR_DIR .)(‘autoload.php’)(抛出新的\RuntimeException( 'Error :未能找到“供应商/autooload.php”)。PHP_EOL。“你忘了运行"composer install -dev”吗?“( PHP_EOL );}要求VENDOR_DIR。‘autooload.php’;
  2. 最后,您需要使用库来编写代码: 使用mikehaertl\wkhtmlto\Pdf;$pdf =新Pdf('/path/to/page.html');if (!$pdf->saveAs('/path/to/page.pdf')) { echo $pdf->getError();}

嗯,你需要wkhtmltopdf二进制文件.但我想这不是问题所在。

以下是我的步骤:

  1. 我下载了wkhtmltopdf msvc2013-win64.exe
  2. 并将其安装到c:\program files\wkhtmltopdf
  3. 现在,可执行文件驻留在c:\program files\wkhtmltopdf\bin中。
  4. 我创建了文件夹pdf-test
  5. 我在CLI上运行命令composer require mikehaertl/phpwkhtmltopdf
  6. 我创建了一个包含以下内容的文件makepdf.php:/* Register自动加载器*/ define('VENDOR_DIR',__DIR__ )。“\供应商”。DIRECTORY_SEPARATOR);if (!is_file(VENDOR_DIR .(‘autoload.php’)(抛出新的\RuntimeException( 'Error :未能找到“供应商/autooload.php”)。PHP_EOL。“你忘了运行"composer install -dev”吗?“( PHP_EOL );}要求VENDOR_DIR。/** *使用库*/使用mikehaertl\wkhtmlto\Pdf;$pdf =新Pdf(数组(‘二进制’=> 'C:\Program \wkhtmltopdf\bin\wkhtmltopdf.exe‘)、'ignoreWarnings’=> true、'commandOptions‘=>数组( 'procEnv’=>数组( //检查系统上'locale‘的输出以找到受支持的语言'LANG’en_US.utf-8‘)、'escapeArgs’=> false‘,'procOptions‘=>数组( //这将绕过Windows 'bypass_shell’=> true上似乎推荐的cmd.exe,//如果遇到无法解释的错误'suppress_errors‘=> true,也值得一试,););$pdf->addPage(‘这是一个示例标题。演示这是示例内容,这是一个示例页脚。);if (!$pdf->saveAs('page.pdf')) { echo $pdf->getError();}
  7. 然后我运行了php makepdf.php
  8. 最后,生成文件page.pdf

就这样..。:)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37568675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档