spl_autoload_registerクラスをロードするために使用しています。
ファイルをindex.php含むファイルがありinit.phpます。spl_autoload_register関数はファイルで呼び出されますinit.php。
ファイルではindex.php、適切に動作します。クラスなどを作成でき、それらの名前は解決されます。
しかし後で、特定のタスクを実行するためindex.phpに別のファイルを に含めます。work.php
奇妙なことに、work.php私が使用しているクラスが見つかりません。
spl_autoload_registerでもう一度を呼び出すとwork.php、クラスを解決できます。
奇妙な点は、この動作に一貫性がないことです。テスト サーバーではspl_autoload_register呼び出しを複製する必要はありませんが、運用サーバーでは必須です。
にいくつかのオプションがありphp.iniませんか?
編集/更新:init.php念のため、ファイルの内容を次に示します。
<?php
function my_autoload($class){
include 'class/' . $class . '.class.php';
}
spl_autoload_register('my_autoload');
?>
そして私のindex.php:
<?php
require_once 'include/init.php';
$barcode = new Barcode();
// here is a bunch of test and stuff
include 'work.php';
?>
そして私のwork.php:
<?php
$myObj = new Barcode();
// more useles stuff
?>
バーコードは、index.php コード部分では問題なく作成されますが、work.php 部分では失敗します...