【发布时间】:2016-11-14 08:14:45
【问题描述】:
我遇到了一个错误,这显然是由 Composer 机制未包含 TCPDF 引起的。
情况如下:
致命错误:在第 24 行的 /var/www/r0byn/web/vendor/setasign/fpdi/fpdi_bridge.php 中找不到类“FPDF”
第 24 行:
if (!class_exists('TCPDF', false)) {
(我可以通过将第二个参数更改为:true 来解决此问题。但每次作曲家更新类时,都必须记住要执行此解决方法。不好。)
composer.json:
{
"name": "i510c/tools510",
"type": "project",
"description": "",
"license": "MIT",
"require-dev": {
"php": ">=5.5.0",
"phpmailer/phpmailer": "~5.2",
"gregwar/captcha": "~1.0.12",
"phpunit/phpunit": "~4.5",
"stefangabos/zebra_form": "2.9.8",
"tecnickcom/tcpdf": "6.2.12",
"setasign/fpdi": "1.6.1",
"facebook/php-sdk-v4": "~5.0"
},
"autoload": {
"psr-4": { "": ["application/core/",
"application/model/",
"application/core/DAO/",
"application/core/Plugin/",
"application/core/Traits/",
"application/core/Exceptions"] }
}
}
composer 生成的 autoload_classmap.php 包含 TCPDF 条目。 TCPDF 类的所有文件都存在于它们应该存在的地方。
我不知道为什么 class_exists() 没有检测到 TCPDF 类。有什么想法吗?
【问题讨论】:
-
听起来像是一个关于自动加载功能的错误。如果您使用您的解决方法,它只是表明 class_exists 验证是否已通过自动加载包含 TCPDF。根据 composer.json 文件是。
标签: php composer-php tcpdf fpdi