日期:2014-05-17  浏览次数:20422 次

想试试cakephp,将其解压到apache的htdocs目录后,访问出现strtotime调用问题、时区设置问题
下面是访问cakephp目录下的index.php浏览器给出的提示

PHP code

Warning (2): strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead [CORE\cake\libs\cache.php, line 597]Code | Context$settings    =    array(
    "engine" => "File",
    "path" => "I:\Apache\Apache2.2\htdocs\cakephp-1.3.9-0\app\tmp\cache\persistent\",
    "prefix" => "cake_core_",
    "lock" => false,
    "serialize" => true,
    "isWindows" => true,
    "duration" => "+10 seconds",
    "probability" => 100
)strtotime - [internal], line ??
CacheEngine::init() - CORE\cake\libs\cache.php, line 597
FileEngine::init() - CORE\cake\libs\cache\file.php, line 81
Cache::_buildEngine() - CORE\cake\libs\cache.php, line 166
Cache::config() - CORE\cake\libs\cache.php, line 141
Configure::__loadBootstrap() - CORE\cake\libs\configure.php, line 421
Configure::getInstance() - CORE\cake\libs\configure.php, line 52
include - CORE\cake\bootstrap.php, line 38
require - APP\webroot\index.php, line 76
[main] - CORE\index.php, line 55

Notice: Trying to get property of non-object in I:\Apache\Apache2.2\htdocs\cakephp-1.3.9-0\cake\libs\cache\file.php on line 248

Fatal error: Call to a member function cd() on a non-object in I:\Apache\Apache2.2\htdocs\cakephp-1.3.9-0\cake\libs\cache\file.php on line 248





我然后看了下它所提示的源代码:

PHP code


//cache.php

class CacheEngine {

/**
 * Settings of current engine instance
 *
 * @var int
 * @access public
 */
    var $settings = array();

/**
 * Initialize the cache engine
 *
 * Called automatically by the cache frontend
 *
 * @param array $params Associative array of parameters for the engine
 * @return boolean True if the engine has been succesfully initialized, false if not
 * @access public
 */
    function init($settings = array()) {
        $this->settings = array_merge(
            array('prefix' => 'cake_', 'duration'=> 3600, 'probability'=> 100),
            $this->settings,
            $settings
        );
        if (!is_numeric($this->settings['duration'])) {
            $this->settings['duration'] = [color=#FF0000][del]strtotime[/del]($this->settings['duration']) - time();[/color]
        }
        return true;
    }

/**
 * Garbage collection
 *
 * Permanently remove all expired and deleted data
 *
 * @access public
 */
    function gc() {
    }

/**
 * Write value for a key into cache
 *
 * @param string $key Identifier for the data
 * @param mixed $value Data to be cached
 * @param mixed $duration How long to cache the data, in seconds
 * @return boolean True if the data was succesfully cached, false on failure
 * @access public
 */
    function write($key, &$value, $duration) {
        trigger_error(sprintf(__('Method write() not implemented in %s', true), get_class($this)), E_USER_ERROR);
    }

/**
 * Read a key from the cache
 *
 * @param string $key Identifier for the data
 * @return mixed The cached data, or false if the data doesn't exist, has expired, or if there was an error fetching it
 * @access public
 */
    function read($key) {
        trigger_error(sprintf(__('Method read() not implemented in %s', true), get_class($this)), E_USER_ERROR);
    }

/**
 * Increment a number under the key and re