2011-08-04 4 views
0

SplEnumを拡張して書いたクラスを自動ロードするのに問題があります。 Spl_Typesを正常にインストールしました。SplEnumがApacheで自動ロードされない - CLIで動作する

奇妙なことに、クラスを自動実行すると、CLI経由で実行すると問題はありません。しかし、私はApacheにスクリプトを実行するときに問題にぶつかります。

spl_autoload_register(array($autoLoader, 'autoLoad')); 
spl_autoload_register('spl_autoload'); 
$colour = new base\main\domain\Colour(base\main\domain\Colour::BLACK); 

は与える::

<?php 
namespace base\main\domain; 
use SplEnum; 
/** 
* Represents a colour. 
* 
**/ 
class Colour extends SplEnum { 
... 

がこれを実行:

クラスは次のように定義されて

Fatal error: Class 'SplEnum' not found in [...] Colour.php on line 8

私は、Apache経由phpinfo()を実行し、phpのことをチェックしました。リストされたiniファイルにはspl_types拡張子が含まれていますが、それでも喜びはありません。

私はあなたがこれで提供できるどんなヘルプにも大変感謝しています。

おかげで、

ロス

+0

の可能性の重複:http://stackoverflow.com/questions/6846395/is-it-possible-to-use-splenum-in -php-5-2-6 – marcelog

+0

これは他の問題と重複していません。上で述べたように、SPL_Typesを正常にインストールしました。他の状況でもクラスをロードできます。この問題は、CLIとApacheの自動ロードの違いに関連しています。 –

答えて

1

あなたが試してみました:

class Colour extends \SplEnum { 
+0

私は今あります。喜びはない、私は恐れている。 –

2

を私はこの同じ問題に遭遇したが、簡単なservice httpd restartが必要だったようです。でコンパイルhttps://github.com/davidcoallier/SPL_Types

から使用

SPL_TYPES:

tar xvf SPL_Types-0.3.1.tgz 
cd SPL_Types-0.3.1 
phpize 
./configure 
make 
make test 
make install 

echo -e "; Enable spl_types extension module\nextension=spl_types.so" > /etc/php.d/spl_types.ini 
service httpd restart 
関連する問題