最近尝试在sae上面部署Yii,于是下载了yiisae1.1.3,解压并按照readme的说明,将yiisae下的framework复制到了yii/framework/下面,然后在protected/config/main.php中按照 https://code.google.com/p/yii-sae/作了一下配置,如下所示:
if(defined('SAE_TMP_PATH')){ //SAE 不支持I/O $config['runtimePath'] = SAE_TMP_PATH; //配置为 SAEDbConnection 则不必考虑用户名密码 并自动读写分<mark style="color:transparent">本%文来源gaodaimacom搞#^代%!码网@</mark>搞代gaodaima码离 $config['components']['db'] = array( 'class'=>'SAEDbConnection', 'charset' => 'utf8', 'tablePrefix'=>'tbl_', 'emulatePrepare' => true, //开启sql 记录 'enableProfiling'=>true, 'enableParamLogging'=>true, //cache 'schemaCachingDuration'=>3600, ); //SAE不支持I/O 使用storage 存储 assets。 如果在正式环境,请将发布到assets的css/js做合并,直接放到app目录下,storage的分钟限额为5000,app为200000 //最新的SAE 不使用storage 而是在siteController中,导入了一个SAEAssetsAction,通过 site/assets?path=aaa.txt ,将文件内容输出到web端,来访问实际的 aaa.txt 文件, $config['components']['assetManager'] = array('class' => 'SAEAssetManager','domain'=> 'assets'); //如果没有必要,不用修改缓存配置。 SAE不支持本地文件的IO处理 已经提供了memcache $config['components']['cache'] = array( 'class'=> 'SAEMemCache', 'servers'=>array( array('host'=>'localhost', 'port'=>11211, 'weight'=>100), ), );}
配置之后,挂到sae上访问,却会报诸如:
include(SAEMemCache.php) [function.include]: failed to open stream: No such file or directory
这样的类文件加载不了的错误(代码中第7和第22行的类),是不是我把这些目录和文件放错了地方导致的?还是得在别的地方再作另外的配置呢?我的目录结构是这样的:
|–1/
|–branches/
|–www/
|–assets/
|–protected/
|–…
|–…
|–yii/
|–framework/
|–base/
|–caching/
|–cli/
|–collections/
|–db/
|– framework/
|–sae/
|–vendors/
|–YiiBase.php
|–yiilite.php
|–gii/
|–….
…..
|–vendors/
…
|–YiiBase.php
|–yiilite.php
|–….
…..
回复讨论(解决方案)
你开通了他的 memcache 服务吗?
你开通了他的 memcache 服务吗?
开通了