我已经按照上面的说明安装了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安装?
不,大多数时候你不能在共享主机上运行Composer,因为你无法访问命令行,即使你这样做了,你也可能没有安装版本控制系统。
对于提供命令行的服务器,通常的方法是在将所有内容上传到有命令行的系统上的服务器之前运行composer install
,这可能会影响PHP的安装。但是,请确保在这个系统上使用的PHP版本与在生产中使用的相同!有些包确实依赖于某些PHP版本,并且在生产中使用太旧的PHP会在使用期望不必处理旧PHP版本中的错误的软件时引发各种问题。
关于你最初的问题:我真的看不出是什么问题,但我确实看到这个项目没有发布标记的版本,所以你被迫从分支安装——这是一件讨厌的事情,因为你不能像使用标记那样真正地将问题定位到已知的工作版本。
顺便说一下:安装说明很糟糕。如果可以避免使用"minimal -stability:dev",或者可以处理其后果,就不要使用它。它允许Composer安装你包含的所有东西的开发版本,而这些很可能是坏的。
我最好的建议是放弃这个项目,并尝试找到一个更好的带有标记版本的PDF创建。如果你不能这样做,在github上为项目创建一个票据,并建议他们将提交标记为发布版本。
也许您在代码中最后出现Zend Framework 1 PDF类时触发了一个bug。我可以看到该项目有一个较旧的分支,其名称表明他们曾经使用ZF1作为后端。