【发布时间】:2018-12-18 20:30:42
【问题描述】:
我刚刚开始了一份新工作,上一位开发人员离开时没有留下任何关于现有应用程序的文档。他们有一个用 PHP 编写的电子商务应用程序,我正在尝试运行一个开发环境。
我将生产目录的副本复制到本地计算机上,并尝试使用 XAMPP 服务器 Apache/MYySQL 运行它。该项目在生产上运行良好。堆栈跟踪导致似乎缺少“缓存”类。如果是这种情况,它是如何在生产中运行的?
希望这是你们 PHP 人以前见过的东西,谢谢。
错误:
Fatal error: Uncaught Error: Class 'cache' not found in
C:\xampp\htdocs\paige\production\rentals\cart\phplib\category.php:6 Stack
trace:
#0 C:\xampp\htdocs\paige\production\rentals\cart\phplib\blocks.php(4):
include_once() #1 C:\xampp\htdocs\paige\production\rentals\cart.php(4):
include('C:\\xampp\\htdocs...') #2 {main} thrown in
C:\xampp\htdocs\paige\production\rentals\cart\phplib\category.php on line 6
这是 category.php 中的第 1-10 行
<?php
include_once __DIR__.'/../../config/globals.php';
include_once __DIR__.'/../../phplib/conn.old.php';
if (!isset($cache)) $cache=new cache();
$categories=$cache->get('categories');
function cat_getChildren($id) {
global $categories;
【问题讨论】:
-
将我们与实际调用缓存类的代码联系起来。 (category.php 中的第 6 行,加上周围的相关行)
-
if (!isset($cache)) $cache = new cache();
-
并且包含两个文件,都没有定义类。
-
编辑您的原始帖子并包含 category.php 中的第 1-10 行(如果不是很多,则包括全部)以及 category.php 中包含的两个文件中的代码 @ jmooree30
-
Id 建议遵循包含到 globals.php 以查看是否/在哪里应该定义
cache类。和/或查看包管理器是否应该在任何地方安装依赖项(如 Composer)