Yii找不到CModule

下载了 Yii 1.0.10

环境是 Apache 2.2.14 + PHP 5.2.11 + XDebug 2.0.5 + Windows 7 U版

将Yii展开到 C:\Apache2.2\htdocs\yii

访问那些DEMOS,出现同样的错误:

http://localhost/yii/demos/phonebook/index.php

( ! ) Fatal error: Class ‘CModule’ not found in C:\Apache2.2\htdocs\yii\framework\base\CApplication.php on line 53

http://localhost/yii/demos/blog/index.php

http://localhost/yii/demos/hangman/index.php

http://localhost/yii/demos/helloworld/index.php

这三个URL也出现同样的错误

( ! ) Fatal error: Class ‘CModule’ not found in C:\Apache2.2\htdocs\yii\framework\base\CApplication.php on line 53

Call Stack

Time Memory Function Location

1 0.0008 57784 {main}( ) …\index.php:0

2 0.0316 284112 YiiBase::createWebApplication( ) …\index.php:7

3 0.0316 284400 YiiBase::createApplication( ) …\YiiBase.php:81

4 0.0317 284984 YiiBase::autoload( ) …\YiiBase.php:0

5 0.0380 414688 include( ‘C:\Apache2.2\htdocs\yii\framework\web\CWebApplication.php’ ) …\YiiBase.php:332

6 0.0380 415040 YiiBase::autoload( ) …\YiiBase.php:0

7 0.0456 586744 include( ‘C:\Apache2.2\htdocs\yii\framework\base\CApplication.php’ ) …\YiiBase.php:332

8 0.0456 587072 YiiBase::autoload( ) …\YiiBase.php:0

9 0.0458 588504 include( ‘C:\Apache2.2\htdocs\yii\framework\base\CApplication.php’ ) …\YiiBase.php:332

Dump $_SERVER

$_SERVER[‘REQUEST_METHOD’] =

string ‘GET’ (length=3)

$_SERVER[‘REQUEST_URI’] =

string ‘/yii/demos/helloworld/index.php’ (length=31)

$_SERVER[‘HTTP_USER_AGENT’] =

string ‘Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.33 Safari/532.0’ (length=116)

Dump $_REQUEST

问题的原因找到了,是php_apc.dll引入的,把apc模块去掉之后,就一切正常。

会不会是apc在windows7下有bug?

试试使用 yiilite~

这个问题确实是个问题, :rolleyes:

关键在于


apc.stat=1

这样一个配置,如果每次请求都去检查文件是否改变,便会出现这个问题,如果是


apc.stat=0

就没有问题。问题是,如果开发中我们需要apc cache的特性时,apc.stat =0 会让开发无从下手。这样CApcCache形同虚设。

能解释一下为什么你们在开发中需要用apc么?如果apc.stat=0对开发有影响么?

不是有这个CApcCache东东嘛?

apc.stat = 0不会检查脚本的修改,在开发过程中,脚本始终是处于修改的状态之中。总不能修改一次脚本,就需要重启php-cgi吧?