Symfony 2 PDFBundle>找不到类'ZendPdf \ PdfDocument'

时间:2014-05-31 22:18:39

标签: symfony composer-php

我已按照其中所述的说明安装了PDFBundle https://github.com/psliwa/PdfBundle

它在我的本地服务器(开发环境)中正常运行但是,在我的生产环境中,我无法让它运行。

我已将所有这些文件和文件夹上传到我的服务器:

/app/config.yml
/app/AppKernel.php
/app/autoload.php
/vendor/composer (complete folder)
/vendor/psliwa (complete folder)
/vendor/autoload.php
/composer.lock
/composer.json

上传到我的服务器有什么办法?还有什么我可以丢失上传吗?

另一个问题,我遇到了所有这些问题(我相信),因为我无法访问我的服务器来执行作曲家安装(我在共享主机上)。无论如何在共享主机上运行composer install?

1 个答案:

答案 0 :(得分:0)

不,您无法在大多数情况下在共享主机上运行Composer,因为您无法访问命令行,即使您伪造了这一点,您可能还没有安装版本控制系统。

即使是提供命令行的服务器,通常的方法是在将所有内容上传到您有一个工作命令行的系统上的服务器之前运行composer install,并且可以影响PHP安装。但是请确保您在生产中使用的此系统上使用相同的PHP版本!有些软件包确实依赖于某些PHP版本,而在生产中使用太旧的PHP会在使用预期不必处理旧PHP版本中的错误的软件时触发各种问题。

关于你原来的问题:我真的看不出有什么问题,但是我确实看到没有发布这个项目的标记版本,所以你被迫从一个分支安装 - 这是一个讨厌的事情,因为你不能真的将问题指向已知的工作版本,例如使用标记时。

顺便说一下:安装说明不好。如果可以避免或者可以处理后果,切勿使用“最小稳定性:dev”。它允许Composer安装您所包含的所有内容的开发版本,这些版本很可能会被破坏。

我最好的建议是放弃该项目,并尝试找到一个更好的项目,用于PDF创建的标记版本。如果您不能这样做,请在github上创建一个包含项目的票证,并建议他们将提交标记为已发布的版本。

也许你用你的代码触发了Zend Framework 1 PDF类最后一次出现的错误。我可以看到该项目有一个较旧的分支,其名称暗示他们曾经使用ZF1作为后端。