我尝试这样做,但它给出了这个错误:
Fatal error: Class 'Piwik_FrontController' not found in C:\wamp\www\aqar2\piwik.php on line 11
我的网站路径是:localhost/aqar2
我的piwik路径是:localhost/aqar2/piwik
<?php
// if you don't include 'index.php', you must also define PIWIK_DOCUMENT_ROOT
// and include "libs/upgradephp/upgrade.php" and "core/Loader.php"
define('PIWIK_INCLUDE_PATH', realpath('.localhost/aqar2/.'));
define('PIWIK_USER_PATH', realpath('.localhost/aqar2/.'));
define('PIWIK_ENABLE_DISPATCH', false);
define('PIWIK_ENABLE_ERROR_HANDLER', false);
define('PIWIK_ENABLE_SESSION_START', false);
require_once PIWIK_INCLUDE_PATH . "piwik/index.php";
require_once PIWIK_INCLUDE_PATH . "piwik/core/API/Request.php";
Piwik_FrontController::getInstance()->init();
// This inits the API Request with the specified parameters
$request = new Piwik_API_Request('
method=UserSettings.getResolution
&idSite=1
&date=yesterday
&period=week
&format=XML
&filter_limit=3
&token_auth=&token_auth=a688c5c011dac27cf125eaa84f95e59b
');
// Calls the API and fetch XML data back
$result = $request->process();
echo $result;
?>
答案 0 :(得分:4)
如果您的php文件位于localhost/aqar2/
,则路径必须为define('PIWIK_INCLUDE_PATH', realpath('piwik/'));
我知道你可能已经修好了所以我正在为那些可能需要它的人添加它......
答案 1 :(得分:0)
该错误是使用(或引用)但尚未加载的类的结果。这可能是由于您的PIWIK_INCLUDE_PATH设置不正确,或者您需要自己包含该类。
首先,仔细检查PIWIK_INCLUDE_PATH
中设置的值是否是系统上的有效路径,可能是:
if (is_dir(PIWIK_INCLUDE_PATH)) {
exit('IT IS A REAL PATH');
} else {
exit('IT IS NOT A REAL PATH');
}
如果结果不是真正的道路,也许你应该看看'。' 'localhost'目录中的点前缀。你不是故意使用realpath('localhost/aqar2/piwik');
。如果确实有效,您还应该看看如何设置PIWIK_USER_PATH
。
如果这不起作用,您应该自己考虑包含FrontController类,但这可能意味着您必须手动包含所有classe的依赖项。要手动添加课程,请使用include(PIWIK_INCLUDE_PATH . '/core/FrontController.php');
您尝试使用的目录结构似乎是错误的,也许您应该修改它并尝试将所有文件保留在localhost
目录下。