suchen
HeimBackend-EntwicklungPHP-Tutorial定义这个函数为什么会出错

老是提示这个错误:Parse error: syntax error, unexpected 'function' (T_FUNCTION) in D:\wamp\www\myshop\upload\includes\cls_template.php on line 313

我用的是php5.5.12
我只是初哥,代码是老板买回来的,运行到这个函数的时候接不上了

    /**
     * 判断是否缓存
     *
     * @access  public
     * @param   string     $filename
     * @param   sting      $cache_id
     *
     * @return  bool
     */

    function is_cached($filename,$cache_id = '')
    {
        $cachename = basename($filename, strrchr($filename, '.')) . '_' . $cache_id;
        if ($this->caching == true && $this->direct_output == false)
        {
            $hash_dir = $this->cache_dir . '/' . substr(md5($cachename), 0, 1);
            if ($data = @file_get_contents($hash_dir . '/' . $cachename . '.php'))
            {
                $data = substr($data, 13);
                $pos  = strpos($data, '                 $paradata = substr($data, 0, $pos);
                $para     = @unserialize($paradata);
                if ($para === false || $this->_nowtime > $para['expires'])
                {
                    $this->caching = false;

                    return false;
                };
                $this->_expires = $para['expires'];

                $this->template_out = substr($data, $pos);

                foreach ($para['template'] AS $val)
                {
                    $stat = @stat($val);
                    if ($para['maketime']                      {
                        $this->caching = false;

                        return false;
                    }
                };
            }
            else
            {
                $this->caching = false;

                return false;
            };

            return true;
        }
        else
        {
            return false;
        }
    }


回复讨论(解决方案)

Parse error: syntax error, unexpected 'function' 
语法错误,意想不到的“function”

错误出现在 cls_template.php 第 313 行之前
你认真检查一下

public function

检查了一下是不是我上面修改的有问题:
原来:return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);
修改:return preg_replace_callback("/{([^\}\{\n]*)}/", function($r){return $this->select($r[1]);};

这是我百度的,现在看来是上面的有问题,大家能不能帮修改一下,这是因为PHP的源代码是5.2,我用的版本是5.5.12

313是哪行?

return preg_replace_callback("/{([^\}\{\n]*)}/", function($r){return $this->select($r[1]);} , $source);
尾巴怎么丢了?

ECSHOP不支持PHP5.5,真是郁闷啊,错误实在是太那个多

我这个初鸡,真是搞不了,求大虾有搞过ECSHOP的,能不能发个对照表过来,让我自己学习并搞好

我使用php5.3.10 没问题,版本太多,ecshop有些东西不支持,建议更换版本。

语法错误,仔细检查一下吧

还是装了php5.2.x上去,问题就没有了
谢谢大家

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie ändern Sie Daten, die in einer PHP -Sitzung gespeichert sind?Wie ändern Sie Daten, die in einer PHP -Sitzung gespeichert sind?Apr 27, 2025 am 12:23 AM

TomodifyDatainaphpSession, startTheSessionwithSession_Start (), dann $ _SessionToSet, modify, orremovevariables.1) startTheSession.2) setOrmodifySessionvariabling $ _Session.3) removeVariables mit ()

Geben Sie ein Beispiel für die Speicherung eines Arrays in einer PHP -Sitzung.Geben Sie ein Beispiel für die Speicherung eines Arrays in einer PHP -Sitzung.Apr 27, 2025 am 12:20 AM

Arrays können in PHP -Sitzungen gespeichert werden. 1. Starten Sie die Sitzung und verwenden Sie Session_Start (). 2. Erstellen Sie ein Array und speichern Sie es in $ _Session. 3. Abrufen Sie das Array durch $ _Session ab. 4. Optimieren Sie Sitzungsdaten, um die Leistung zu verbessern.

Wie funktioniert die Müllsammlung für PHP -Sitzungen?Wie funktioniert die Müllsammlung für PHP -Sitzungen?Apr 27, 2025 am 12:19 AM

Die PHP -Sitzungsmüllsammlung wird durch einen Wahrscheinlichkeitsmechanismus ausgelöst, um abgelaufene Sitzungsdaten zu beseitigen. 1) Legen Sie die Auslöserwahrscheinlichkeit und die Sitzungslebenszyklus in der Konfigurationsdatei ein. 2) Sie können Cron-Aufgaben verwenden, um Hochlastanwendungen zu optimieren. 3) Sie müssen die Häufigkeit und Leistung von Müllsammlungen ausgleichen, um Datenverlust zu vermeiden.

Wie können Sie die Sitzungsaktivität in PHP verfolgen?Wie können Sie die Sitzungsaktivität in PHP verfolgen?Apr 27, 2025 am 12:10 AM

Die Verfolgung von Benutzersitzungsaktivitäten in PHP wird durch Sitzungsverwaltung implementiert. 1) Verwenden Sie Session_start (), um die Sitzung zu starten. 2) Speichern Sie Daten über das $ _Session -Array. 3) Call Session_Destroy (), um die Sitzung zu beenden. Die Sitzungsverfolgung wird für die Analyse der Benutzerverhalten, die Sicherheitsüberwachung und die Leistungsoptimierung verwendet.

Wie können Sie eine Datenbank verwenden, um PHP -Sitzungsdaten zu speichern?Wie können Sie eine Datenbank verwenden, um PHP -Sitzungsdaten zu speichern?Apr 27, 2025 am 12:02 AM

Die Verwendung von Datenbanken zum Speichern von PHP -Sitzungsdaten kann die Leistung und Skalierbarkeit verbessern. 1) Konfigurieren Sie MySQL, um Sitzungsdaten zu speichern: Richten Sie den Sitzungsprozessor in Php.ini oder PHP -Code ein. 2) Benutzerdefinierte Sitzungsprozessor implementieren: Definieren Sie Öffnung, Schließen, Lesen, Schreiben und andere Funktionen, um mit der Datenbank zu interagieren. 3) Optimierung und Best Practices: Verwenden Sie Indexierung, Zwischenspeicherung, Datenkomprimierung und verteilter Speicher, um die Leistung zu verbessern.

Erläutern Sie das Konzept einer PHP -Sitzung in einfachen Worten.Erläutern Sie das Konzept einer PHP -Sitzung in einfachen Worten.Apr 26, 2025 am 12:09 AM

PhpSessionStrackUserDataacrossMultiplePageRequestsusesuseiquiTIdStoredInacookie.her'ShowtomagetheFectiv: 1) StartaSessionswithSession_start () und storateatain $ _Session.2) regeneratethessionSessionInoginWithSession_IDENT_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTEL

Wie schleifen Sie alle in einer PHP -Sitzung gespeicherten Werte durch?Wie schleifen Sie alle in einer PHP -Sitzung gespeicherten Werte durch?Apr 26, 2025 am 12:06 AM

In PHP können durch Sitzungsdaten in den folgenden Schritten iteriert werden: 1. Starten Sie die Sitzung mit Session_Start (). 2. Iterieren Sie durch die Foreach-Schleife durch alle Schlüsselwertpaare im $ _Session-Array. 3. Wenn Sie komplexe Datenstrukturen verarbeiten, verwenden Sie is_array () oder is_object () Funktionen und verwenden Sie print_r (), um detaillierte Informationen auszugeben. 4. Bei der Optimierung von Traversal kann Paging verwendet werden, um eine gleichzeitige Verarbeitung großer Datenmengen zu vermeiden. Auf diese Weise können Sie PHP -Sitzungsdaten in Ihrem tatsächlichen Projekt effizienter verwalten und verwenden.

Erklären Sie, wie Sie Sitzungen für die Benutzerauthentifizierung verwenden.Erklären Sie, wie Sie Sitzungen für die Benutzerauthentifizierung verwenden.Apr 26, 2025 am 12:04 AM

Die Sitzung realisiert die Benutzerauthentifizierung über den serverseitigen Statusverwaltungsmechanismus. 1) Erstellung der Sitzung und Erzeugung eindeutiger IDs, 2) IDs werden durch Cookies weitergeleitet, 3) Server speichert und greift auf Sitzungsdaten über IDs, 4) Benutzerauthentifizierung und Statusverwaltung zugeordnet und verbessert die Sicherheit und die Benutzererfahrung von Anwendungen.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen