2

これが私のコントローラーです:

$html = $this->load->view('print_po', $po, TRUE);
$this->load->library('pdf');
$pdf = $this->pdf->load();

今、各行にコメントを付けてみましたが、エラーを示すものは次のとおりです。

$pdf = $this->pdf->load();

application/librariesのライブラリ クラスは次のとおりです。

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class pdf {

    function pdf()
    {
        $CI = & get_instance();
        log_message('Debug', 'mPDF class is loaded.');
    }

    function load($param=NULL)
    {
        include_once APPPATH.'/third_party/mpdf/mpdf.php';

        if ($params == NULL)
        {
            $param = '"en-GB-x","A4","","",10,10,10,10,6,3';
        }

        return new mPDF($param);
    }
}

エラーは、コードをあるサーバーから別のサーバーに移動した後にのみ発生します(エラーは、大文字と小文字が区別されるCentOSサーバーで発生します)。ここでの私の質問は次のとおりです: codeIgniter が Exceptions.php を正常にロードするには、何を変更すればよいですか?

4

1 に答える 1

1

まず、/third_partyフレーズの最初のスラッシュを削除します。

include_once APPPATH.'third_party/mpdf/mpdf.php';

CodeIgniter はAPPPATH、末尾にスラッシュを付けて定数を定義します。見てみましょうindex.php

define('APPPATH', $application_folder.'/');

第二に、ファイル/フォルダ名があなたが書いたものと同じであることを確認してください. すべて小文字のままにしておくことをお勧めします。 関連トピックはこちらです。

アップデート:

クラス名は大文字にする必要があります。この場合、 を次のように変更pdfPdfます。

class Pdf {
 // ...
}

CI ドキュメントから:

命名規則:

  • ファイル名は大文字にする必要があります。例えば: Myclass.php
  • クラス宣言は大文字にする必要があります。例えば: class Myclass
  • クラス名とファイル名は一致する必要があります。
于 2013-08-07T13:14:09.197 に答える