Yii Framework Copy Error: "failed To Open Stream: Permission Denied"

hi all,

I have just started to use Yii framework on a windows 7 machine. It’s giving me this annoying error and it goes away when I restart the computer.

Can anyone shed some light on what’s happening and how to fix it?.. Seems like a permission error when it tries to copy the ‘imagepaste2.3.zip’ file. But it works for a while when I restart the computer and goes back to the same error I have copy/pasted below.

how do I resolve this?.. Thanks a bunch

I am using Apache/2.2.22 (Win32), PHP/5.3.13, Yii Framework/1.1.13

Here is the error I get:




PHP warning


copy(C:\www\corp\assets\96296f5a\js\ckeditor\plugins\imagepaste2.3.zip): failed to open stream: Permission denied


C:\www\yii-1.1.13\framework\utils\CFileHelper.php(131)


119 

120         $folder=opendir($src);

121         while(($file=readdir($folder))!==false)

122         {

123             if($file==='.' || $file==='..')

124                 continue;

125             $path=$src.DIRECTORY_SEPARATOR.$file;

126             $isFile=is_file($path);

127             if(self::validatePath($base,$file,$isFile,$fileTypes,$exclude))

128             {

129                 if($isFile)

130                 {

131                     copy($path,$dst.DIRECTORY_SEPARATOR.$file);

132                     if(isset($options['newFileMode']))

133                         chmod($dst.DIRECTORY_SEPARATOR.$file,$options['newFileMode']);

134                 }

135                 elseif($level)

136                     self::copyDirectoryRecursive($path,$dst.DIRECTORY_SEPARATOR.$file,$base.'/'.$file,$fileTypes,$exclude,$level-1,$options);

137             }

138         }

139         closedir($folder);

140     }

141 

142     /**

143      * Returns the files found under the specified directory and subdirectories.


Stack Trace

#0 	

+

 C:\www\yii-1.1.13\framework\utils\CFileHelper.php(131): copy("C:\www\corp\protected\extensions\bootstrap\assets\js\ckeditor\pl...", "C:\www\corp\assets\96296f5a\js\ckeditor\plugins\imagepaste2.3.zi...")

#1 	

+

 C:\www\yii-1.1.13\framework\utils\CFileHelper.php(136): CFileHelper::copyDirectoryRecursive("C:\www\corp\protected\extensions\bootstrap\assets\js\ckeditor\pl...", "C:\www\corp\assets\96296f5a\js\ckeditor\plugins", "/js/ckeditor/plugins", array(), ...)

#2 	

+

 C:\www\yii-1.1.13\framework\utils\CFileHelper.php(136): CFileHelper::copyDirectoryRecursive("C:\www\corp\protected\extensions\bootstrap\assets\js\ckeditor", "C:\www\corp\assets\96296f5a\js\ckeditor", "/js/ckeditor", array(), ...)

#3 	

+

 C:\www\yii-1.1.13\framework\utils\CFileHelper.php(136): CFileHelper::copyDirectoryRecursive("C:\www\corp\protected\extensions\bootstrap\assets\js", "C:\www\corp\assets\96296f5a\js", "/js", array(), ...)

#4 	

+

 C:\www\yii-1.1.13\framework\utils\CFileHelper.php(63): CFileHelper::copyDirectoryRecursive("C:\www\corp\protected\extensions\bootstrap\assets", "C:\www\corp\assets\96296f5a", "", array(), ...)

#5 	

+

 C:\www\yii-1.1.13\framework\web\CAssetManager.php(251): CFileHelper::copyDirectory("C:\www\corp\protected\extensions\bootstrap\assets", "C:\www\corp\assets\96296f5a", array("exclude" => array(".svn", ".gitignore"), "level" => -1, "newDirMode" => 511, "newFileMode" => 438))

#6 	

–

 C:\www\corp\protected\extensions\bootstrap\components\Bootstrap.php(458): CAssetManager->publish("C:\www\corp\protected\extensions\bootstrap\assets", false, -1, true)


453         if (isset($this->_assetsUrl))

454             return $this->_assetsUrl;

455         else

456         {

457             $assetsPath = Yii::getPathOfAlias('bootstrap.assets');

458             $assetsUrl = Yii::app()->assetManager->publish($assetsPath, false, -1, YII_DEBUG);

459             return $this->_assetsUrl = $assetsUrl;

460         }

461     }

462 

463     /**


#7 	

–

 C:\www\corp\protected\extensions\bootstrap\components\Bootstrap.php(163): Bootstrap->getAssetsUrl()


158      * @param string $cssFile the css file name to register

159      * @param string $media the media that the CSS file should be applied to. If empty, it means all media types.

160      */

161     public function registerAssetCss($cssFile, $media = '')

162     {

163         Yii::app()->getClientScript()->registerCssFile($this->getAssetsUrl() . "/css/{$cssFile}", $media);

164     }

165 

166     /**

167      * Registers the core JavaScript.

168      * @since 0.9.8


#8 	

–

 C:\www\corp\protected\extensions\bootstrap\components\Bootstrap.php(124): Bootstrap->registerAssetCss("bootstrap.css")


119     /**

120      * Registers the Bootstrap CSS.

121      */

122     public function registerCoreCss()

123     {

124         $this->registerAssetCss('bootstrap' . (!YII_DEBUG ? '.min' : '') . '.css');

125     }

126 

127     /**

128      * Registers the Bootstrap responsive CSS.

129      * @since 0.9.8


#9 	

+

 C:\www\corp\protected\extensions\bootstrap\components\Bootstrap.php(102): Bootstrap->registerCoreCss()

#10 	

+

 C:\www\yii-1.1.13\framework\base\CModule.php(387): Bootstrap->init()

#11 	

+

 C:\www\yii-1.1.13\framework\base\CModule.php(523): CModule->getComponent("bootstrap")

#12 	

+

 C:\www\yii-1.1.13\framework\base\CApplication.php(152): CModule->preloadComponents()

#13 	

+

 C:\www\yii-1.1.13\framework\YiiBase.php(125): CApplication->__construct("C:\www\corp/protected/config/main.php")

#14 	

–

 C:\www\yii-1.1.13\framework\YiiBase.php(98): YiiBase::createApplication("CWebApplication", "C:\www\corp/protected/config/main.php")


093      * If not, the directory will be defaulted to 'protected'.

094      * @return CWebApplication

095      */

096     public static function createWebApplication($config=null)

097     {

098         return self::createApplication('CWebApplication',$config);

099     }

100 

101     /**

102      * Creates a console application instance.

103      * @param mixed $config application configuration.


#15 	

+

 C:\www\corp\index.php(13): YiiBase::createWebApplication("C:\www\corp/protected/config/main.php") 



I have added Yii booster extension. and looking at the error output it seems to have trouble copying the above mentioned file…

anyone met this problem before?.. any ideas?