Opencart 错误代码且内存耗尽

问题描述 投票:0回答:3

我目前在日志中收到以下有关内存耗尽的错误代码。

[16-May-2023 11:18:05 UTC] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 33554440 bytes) in /home/allgates/public_html/vqmod/vqmod.php on line 336

所指的代码如下

`    * VQMod::_loadChecked()
     *
     * @return null
     * @description Loads already checked files and adds them to _doNotMod array
     */
    private static function _loadChecked() {
        $file = self::path(self::$checkedCache);
        if($file && is_file($file)) {
Line 336 ->     **  **$paths = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);****
            if(!empty($paths)) {
                foreach($paths as $path) {
                    $fullPath = self::path($path, true);
                    if($fullPath) {
                        self::$_doNotMod[] = $fullPath;`

有人可以建议如何修复吗?我对 php 不了解,所以希望有人知道一个简单的修复方法。

我检查了 php.ini 文件中的内存限制,它显示为 64M。我增加到 128M,但仍然收到错误。

memory opencart vqmod
3个回答
0
投票

您看到的错误消息表明已超出 PHP 脚本的内存限制。具体来说,由于读取的文件大小,PHP 中的

file
函数会消耗大量内存。要解决此问题,您可以尝试增加脚本的内存限制。

为此,您可以直接编辑 php.ini 文件或修改网站的 .htaccess 文件。

您可以采取以下步骤:

  • 编辑 php.ini:在 php.ini 文件中找到

    "memory_limit"
    指令并增加值,例如
    "memory_limit = 256M"
    表示 256 MB 内存。

  • 编辑 .htaccess:如果您无权访问 php.ini,您可以尝试编辑网站根目录中的 .htaccess 文件并添加以下行:

    "php_value memory_limit 256M"
    (或所需的值)。

希望这可以帮助您解决问题。


0
投票

由于绝对路径的缓存未命中,“checked.cache”文件不断增长。修复了 vqmod::path() 函数来处理绝对路径。


0
投票

你能告诉我你到底是如何解决这个问题的吗,没有编码知识

© www.soinside.com 2019 - 2024. All rights reserved.