0

こんにちは私は現在のzendアプリケーションにモバイルテンプレートを追加しようとしましたが、サーバーエラーが返されます。以下は、いくつかのサイトでフォローしている私の構成です。

application.in

resources.frontController.plugins[] = "Rate_Application_Mobile"
resources.useragent.wurflapi.wurfl_api_version = "1.1"
resources.useragent.wurflapi.wurfl_lib_dir = APPLICATION_PATH "/../library/wurfl/WURFL/"
resources.useragent.wurflapi.wurfl_config_file = APPLICATION_PATH "/configs/wurfl-config.php"

wurfl-config.php

<?php
$resourcesDir            = dirname(__FILE__) . '/../../data/wurfl/';

$wurfl['main-file']      = $resourcesDir  . 'wurfl-2.0.27.zip';
$wurfl['patches']        = array($resourcesDir . 'web_browsers_patch.xml');

$persistence['provider'] = 'file';
$persistence['dir']      = $resourcesDir . 'cache/';

$cache['provider']       = null;

$configuration['wurfl']       = $wurfl;
$configuration['persistence'] = $persistence;
$configuration['cache']       = $cache;

モバイルプラグイン/var/www/library/Rate/Application/Mobile.php

class Rate_Application_Mobile extends Zend_Controller_Plugin_Abstract
{

    public function dispatchLoopStartup(Zend_Controller_Request_Abstract $req)
    {


        $front = Zend_Controller_Front::getInstance();
        $bootstrap = $front->getParam("bootstrap");

        $userAgent = $bootstrap->getResource('useragent');

        $device = $userAgent->getDevice();  --> this part return server error when switching to mobile browser, otherwise it return desktop when view as desktop browser


    }
}

ありがとう!!

更新:次のようにエラーが返されます

Warning: include(/var/www/library/wurfl/WURFL/Storage/.php): failed to open stream: No such file or directory in /var/www/library/wurfl/WURFL/ClassLoader.php on line 42

Warning: include(): Failed opening '/var/www/library/wurfl/WURFL/Storage/.php' for inclusion (include_path='/var/www/application/../library:/var/www/library:.:/usr/share/php:/usr/local/Zend/library') in /var/www/library/wurfl/WURFL/ClassLoader.php on line 42

Fatal error: Class 'WURFL_Storage_' not found in /var/www/library/wurfl/WURFL/Storage/Factory.php on line 43
4

1 に答える 1

0

これは、上記のコメントで私が提供した回答であり、賛成票を投じて受け入れるためだけにコピーして貼り付けました。

これは、クラス ファイルが見つからなかったことを示す PHP エラーです。空の名前の PHP ファイルをインクルードしているため、WURFL はロードする必要があるファイルを検出できない可能性があります。ClassLoader.php:42 (最初のエラー) のエラー行の前に debug_backtrace() を実行し、Factory.php:43 でロードしようとする/必要なストレージを確認してください。このファイルの場合: Factory.phpファイル プロバイダーをロードしようとしています。このファイル プロバイダーは、提供するプロバイダー構成ツリーで指定する必要がありますが、読み取られません。

今のところ、ZF キャッシュをクリアして、

$persistence['provider'] = 'file';
$cache['provider'] = null;
$configuration['persistence'] = $persistence; 

干渉しないでください。

于 2013-02-26T03:31:36.057 に答える