首先,这里有两个错误 1.PHP Notice: Undefined index: extracmd in /Users/wangmeng/Documents/quick-3.3/quick/bin/lib/quick/ProjectCreator.php on line 117 这是117行有未定义的变量extracmd
2.PHP Notice: Undefined index: QUICK_V3_ROOT in /Users/wangmeng/Documents/quick-3.3/quick/bin/lib/quick/ProjectCreator.php on line 497 PHP Warning: opendir(/quick/templates/shared/res/): failed to open dir: No such file or directory in /Users/wangmeng/Documents/quick-3.3/quick/bin/lib/quick/init.php
on line 126 PHP Warning: opendir(/quick/templates/shared/src/): failed to open dir: No such file or directory in /Users/wangmeng/Documents/quick-3.3/quick/bin/lib/quick/init.php
on line 126 PHP Warning: opendir(/quick/templates/shared/frameworks/): failed to open dir: No such file or directory in /Users/wangmeng/Documents/quick-3.3/quick/bin/lib/quick/init.php
on line 126 PHP Notice: Undefined index: QUICK_V3_ROOT in /Users/wangmeng/Documents/quick-3.3/quick/bin/lib/quick/ProjectCreator.php on line 520 PHP Warning: opendir(/quick/cocos/): failed to open dir: No such file or directory in /Users/wangmeng/Documents/quick-3.3/quick/bin/lib/quick/init.php
on line 126 PHP Warning: opendir(/quick/framework/): failed to open dir: No such file or directory in /Users/wangmeng/Documents/quick-3.3/quick/bin/lib/quick/init.php
on line 126 这里就比较复杂了,主要意思就是找不到环境变量QUICK_V3_ROOT,所以不能写入res和src目录,这就很严重了。
这两个问题困扰了我整整一天,一度让我对quick失去信心,去群里问也没人能说出个所以然来。我感觉这里应该是代码的问题,但是别人没有遇到过这个问题,就说明有的人不会有问题,至少 写这段代码的人不会报错,于是我在别的机器上测试了一下,发现mac os 10.9.4及之前的系统就没有问题,我的系统是mac os 10.9.5,于是就报错了,然后我打印出php的版本,发现了问题所在。 这里强调一点,本人从来没写过php代码,所以看见了之后就比较抵触,不愿去细读这些代码,但是没办法,最后只能硬着头皮去读。 Mac OS X 10.9.4 对应php版本 5.4.24 Mac OS X 10.9.5 对应php版本 5.4.30 两个版本的php解释器不同,所以造成了上述错误。 错误1:117行代码if ($this->options[‘extracmd‘]),这里options是个array,它里面没有extracmd这个key,早期版本php不会报错,但是新版本会报错,所以这里改成if (in_array(‘extracmd‘,$this->options)) 错误2:405,469,497,520,551这5行代码都访问了一个环境变量$_ENV[‘QUICK_V3_ROOT‘],这里我不知道为什么现在取不到了,(希望php大神能给解释一下),从网上找到用getenv(‘QUICK_V3_ROOT‘)替换。 这样就解决了这两个问题。