【问题标题】:Warning: include(xxxx): failed to open stream: No such file or directory警告:包含(xxxx):无法打开流:没有这样的文件或目录
【发布时间】:2017-06-04 07:48:05
【问题描述】:

我在将 composer 与 ros/ezpdf 一起使用时遇到问题

这是我的文件结构

home
    --miga
            --db
                --file.php
            --vendor
                --ros
                    --ezpdf
                        --src
                            --Cezpdf.php
        composer.json

在我的主文件中有这个

error_reporting(E_ALL | E_NOTICE);
ini_set('display_errors', '1');
require_once "dbconfig.php";
require_once __DIR__ . '/../vendor/autoload.php';
include '../vendor/ros/ezpdf/src/Cezpdf.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
setlocale(LC_ALL, NULL);
setlocale(LC_ALL, 'pt_PT');

还有我的 composer.json 这个:

"autoload": {
  "classmap": ["db/class.esmaior.php"],
  "files": ["src/Cpdf.php", "src/Cezpdf.php"]

},
"require": {
  "phpmailer/phpmailer": "6.0.x-dev",
  "ros/ezpdf": "0.12.1"
}

如果我用这个

include '../vendor/ros/ezpdf/src/Cezpdf.php';

pdf 已创建,但在我网站的每个页面中我都有这些警告

Warning: include(../vendor/ros/ezpdf/src/Cpdf.php): failed to open stream: No such file or directory in

如果我删除该行我有这个错误

致命错误:在第 2910 行的 /home/xxxx/public_html/miga/db/class.esmaior.php 中找不到类“Cezpdf”

【问题讨论】:

  • 当使用自动加载时,你不应该对每个类都使用 require。自动加载应该为您执行此操作。 getcomposer.org/doc/01-basic-usage.md#autoloading
  • 我不使用 require...致命错误:在第 2910 行的 /home/xxxx/public_html/miga/db/class.esmaior.php 中找不到类“Cezpdf”

标签: php composer-php ezpdf


【解决方案1】:

试试这个include(__DIR__."/../vendor/ros/ezpdf/src/Cezpdf.php");

【讨论】:

    猜你喜欢
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 2016-07-24
    • 2017-06-20
    • 2012-11-21
    • 1970-01-01
    相关资源
    最近更新 更多