zf2-assetic-module icon indicating copy to clipboard operation
zf2-assetic-module copied to clipboard

Installation Problems: 'Web path is not set'

Open frazDev opened this issue 9 years ago • 3 comments

Hi,

I've tried to use this module in a fresh zf2 ZendSkeletonApplication. I've read/followed the How To and the Configuration guide but i get error in browser and after the command line:

php public/index.php assetic setup

The Error is:

Fatal error: Uncaught exception 'AsseticBundle\Exception\RuntimeException' with message 'Web path is not set' in vendor\widmogrod\zf2-assetic-module\src\AsseticBundle\Configuration.php:185

My configuration file:

config/autoload/assets.config.php

<?php
// configs/assets.config.php
return array(
    'assetic_configuration' => array(

        'debug' => true,
        'buildOnRequest' => true,

        'webPath' => realpath('public/assets'),
        'basePath' => 'assets',

        'cachePath' => 'data/cache',
        'cacheEnabled' => false,    

        'routes' => array(
            'home' => array(
                '@base_js',
                '@base_css',
            ),
        ),

        'modules' => array(
            'Application' => array(
                'root_path' => __DIR__ . '/../assets',
                'collections' => array(
                    'base_css' => array(
                        'assets' => array(
                            'css/bootstrap-theme.min.css',
                            'css/style.css',
                            'css/bootstrap.min.css'
                        ),
                        'filters' => array(
                            'CssRewriteFilter' => array(
                                'name' => 'Assetic\Filter\CssRewriteFilter'
                            )
                        ),
                    ),

                    'base_js' => array(
                        'assets' => array(
                            'js/html5shiv.js',
                            'js/jquery.min.js',
                            'js/bootstrap.min.js',
                        )
                    ),

                    'base_images' => array(
                        'assets' => array(
                            'img/*.png',
                            'img/*.ico',
                        ),
                        'options' => array(
                            'move_raw' => true,
                        )
                    ),
                ),
            ),
        ),
    )
);

The directory structure is: dir

I'm running XAMPP on W7.

Can anyone help me to troubleshoot this problem?

frazDev avatar May 15 '15 17:05 frazDev

Could you provide full stack trace of the error? Could you try to var_dump result of 'webPath' => realpath('public/assets'),

widmogrod avatar May 15 '15 17:05 widmogrod

I switched to a LAMP env because I have not access to that machine but I still get the same error. Where should I dump the webpath value? If you take a look here you will find the stack error and the dump of the Configuration class before the error is thrown.

The command line full error output is the following:

The application has thrown an exception!

Zend\ServiceManager\Exception\ServiceNotCreatedException

An exception was raised while creating "AsseticService"; no instance returned

/var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:946 #0 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(1097): Zend\ServiceManager\ServiceManager->createServiceViaCallback(Array, 'asseticbundlese...', 'AsseticService') #1 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(638): Zend\ServiceManager\ServiceManager->createFromFactory('asseticbundlese...', 'AsseticService') #2 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(598): Zend\ServiceManager\ServiceManager->doCreate('AsseticService', 'asseticbundlese...') #3 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(530): Zend\ServiceManager\ServiceManager->create(Array) #4 /var/www/frazdev/zf2/vendor/widmogrod/zf2-assetic-module/src/AsseticBundle/Initializer/AsseticBundleInitializer.php(24): Zend\ServiceManager\ServiceManager->get('AsseticService') #5 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(666): AsseticBundle\Initializer\AsseticBundleInitializer->initialize(Object(AsseticBundle\Controller\ConsoleController), Object(Zend\Mvc\Controller\ControllerManager)) #6 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(598): Zend\ServiceManager\ServiceManager->doCreate('AsseticBundle\C...', 'asseticbundleco...') #7 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(530): Zend\ServiceManager\ServiceManager->create(Array) #8 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/AbstractPluginManager.php(116): Zend\ServiceManager\ServiceManager->get('AsseticBundle\C...', false) #9 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/ControllerManager.php(137): Zend\ServiceManager\AbstractPluginManager->get('AsseticBundle\C...', Array, false) #10 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/Mvc/DispatchListener.php(76): Zend\Mvc\Controller\ControllerManager->get('AsseticBundle\C...') #11 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent)) #12 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(444): call_user_func(Array, Object(Zend\Mvc\MvcEvent)) #13 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(205): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure)) #14 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(314): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure)) #15 /var/www/frazdev/zf2/public/index.php(17): Zend\Mvc\Application->run()

#16 {main}

Previous Exception(s):

Zend\ServiceManager\Exception\ServiceNotCreatedException

An exception was raised while creating "AsseticAssetWriter"; no instance returned

/var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:946 #0 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(1097): Zend\ServiceManager\ServiceManager->createServiceViaCallback(Array, 'asseticbundlese...', 'AsseticService') #1 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(638): Zend\ServiceManager\ServiceManager->createFromFactory('asseticbundlese...', 'AsseticService') #2 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(598): Zend\ServiceManager\ServiceManager->doCreate('AsseticService', 'asseticbundlese...') #3 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(530): Zend\ServiceManager\ServiceManager->create(Array) #4 /var/www/frazdev/zf2/vendor/widmogrod/zf2-assetic-module/src/AsseticBundle/Initializer/AsseticBundleInitializer.php(24): Zend\ServiceManager\ServiceManager->get('AsseticService') #5 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(666): AsseticBundle\Initializer\AsseticBundleInitializer->initialize(Object(AsseticBundle\Controller\ConsoleController), Object(Zend\Mvc\Controller\ControllerManager)) #6 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(598): Zend\ServiceManager\ServiceManager->doCreate('AsseticBundle\C...', 'asseticbundleco...') #7 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(530): Zend\ServiceManager\ServiceManager->create(Array) #8 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/AbstractPluginManager.php(116): Zend\ServiceManager\ServiceManager->get('AsseticBundle\C...', false) #9 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/ControllerManager.php(137): Zend\ServiceManager\AbstractPluginManager->get('AsseticBundle\C...', Array, false) #10 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/Mvc/DispatchListener.php(76): Zend\Mvc\Controller\ControllerManager->get('AsseticBundle\C...') #11 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent)) #12 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(444): call_user_func(Array, Object(Zend\Mvc\MvcEvent)) #13 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(205): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure)) #14 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(314): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure)) #15 /var/www/frazdev/zf2/public/index.php(17): Zend\Mvc\Application->run()

#16 {main}

AsseticBundle\Exception\RuntimeException

Web path is not set

/var/www/frazdev/zf2/vendor/widmogrod/zf2-assetic-module/src/AsseticBundle/Configuration.php:185 #0 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(1097): Zend\ServiceManager\ServiceManager->createServiceViaCallback(Array, 'asseticbundlese...', 'AsseticService') #1 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(638): Zend\ServiceManager\ServiceManager->createFromFactory('asseticbundlese...', 'AsseticService') #2 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(598): Zend\ServiceManager\ServiceManager->doCreate('AsseticService', 'asseticbundlese...') #3 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(530): Zend\ServiceManager\ServiceManager->create(Array) #4 /var/www/frazdev/zf2/vendor/widmogrod/zf2-assetic-module/src/AsseticBundle/Initializer/AsseticBundleInitializer.php(24): Zend\ServiceManager\ServiceManager->get('AsseticService') #5 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(666): AsseticBundle\Initializer\AsseticBundleInitializer->initialize(Object(AsseticBundle\Controller\ConsoleController), Object(Zend\Mvc\Controller\ControllerManager)) #6 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(598): Zend\ServiceManager\ServiceManager->doCreate('AsseticBundle\C...', 'asseticbundleco...') #7 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(530): Zend\ServiceManager\ServiceManager->create(Array) #8 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/ServiceManager/AbstractPluginManager.php(116): Zend\ServiceManager\ServiceManager->get('AsseticBundle\C...', false) #9 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/ControllerManager.php(137): Zend\ServiceManager\AbstractPluginManager->get('AsseticBundle\C...', Array, false) #10 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/Mvc/DispatchListener.php(76): Zend\Mvc\Controller\ControllerManager->get('AsseticBundle\C...') #11 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent)) #12 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(444): call_user_func(Array, Object(Zend\Mvc\MvcEvent)) #13 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(205): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure)) #14 /var/www/frazdev/zf2/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(314): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure)) #15 /var/www/frazdev/zf2/public/index.php(17): Zend\Mvc\Application->run() #16 {main}

This is config/application.config.php

// This should be an array of module namespaces used in the application.
'modules' => array(
    'Application',
         'AsseticBundle' // <= declare you want to use AsseticModule 
),

frazDev avatar May 16 '15 15:05 frazDev

Just for clarification, you need to rename asset.config.php into asset.global.php ind the autoload directory.

kersten avatar Dec 10 '15 19:12 kersten