Heim > Artikel > Backend-Entwicklung > Lassen Sie uns über den schwierigen Weg des Upgrades von ThinkPHP3.2.3 von PHP5 auf PHP7 sprechen
Zunächst einmal: Unterstützt ThinkPHP3.2.3 PHP7 absolut?
Unter Windows wurde das vorherige Projekt in der Version Apache2.4.17+php5.x bereitgestellt. Aufgrund des Netzwerksicherheitsscans auf Kundenseite wurden viele Schwachstellen gefunden, darunter bis zu Hunderte von Hochrisikolücken in Apache und PHP In einigen Fällen, in denen eine dringende Reparatur erforderlich ist, wird die Website geschlossen.
Also habe ich den Softwarelieferanten kontaktiert, der versprochen hat, beim Upgrade zu kooperieren, aber am Ende das Upgrade nicht durchgeführt hat. Die Antwort war, dass ThinkPHP3.2.3 nicht in PHP7 bereitgestellt werden kann.
Also musste ich mich auf mich selbst verlassen und habe drei oder vier Tage lang herumgefummelt. Endlich war das Upgrade erfolgreich. Jetzt werde ich den allgemeinen Prozess mit Ihnen teilen.
Empfehlung (kostenlos): PHP7
1. Apache aktualisieren, Download-Adresse http://httpd.apache.org/download.cgi, die heruntergeladene Version ist 2.4.33
Das Wichtigste ist die Konfigurationsdatei, wie unten gezeigt:
Apache lädt PHP-Unterstützung
PHPIniDir d:/GPS-LOCK/php/php.ini
LoadModule php7_module D:/GPS-LOCK/ php/php7apache2_4.dll
at Bei diesem Schritt sind viele Probleme aufgetreten. Als der PHPIniDir-Pfad aktiviert wurde, konnte Apache nicht gestartet werden. Schließlich wurde festgestellt, dass die Datei php.ini auf Multithreading php_ptheads.dll verwies. Nach mehrmaligen Versuchen wurde das Problem gelöst.
2. PHP aktualisieren, Download-Adresse: https://windows.php.net/download/ Was hier heruntergeladen wird, ist 7.2.26,
Jetzt werden wir die erwarteten Probleme beim Upgrade von PHP7 zusammenfassen
1 Hier installiert werden Die kompilierte Version der vc++-Klassenbibliothek, die PHP7 entspricht, vc_redist.x64.exe, wird mit vc15 installiert
3, muss heruntergeladen werden Microsoft-Treiber für PHP für SQL Server https://www.microsoft.com/en-us/download/details.aspx?id=20098, ich habe Version 7.2 heruntergeladenÄndern Sie die Speicherortdatei wie folgt 4. In der php.ini-Datei in php7 wird ext im-Verzeichnis weggelassen
3. Ich dachte, dass das System unter PHP7 normal laufen könnte und dass das Projekt Multithreading verwenden würde php zur Unterstützung von pthreads. In diesem Moment war die Datei php.ini kurz vor dem Absturz. Nach dem Hinzufügen von extension=pthreads konnte Apache nicht erneut gestartet werden. Es stellt sich heraus, dass ptheads im CLI-Modus ausgeführt werden muss. Die Download-Adresse von ptheads lautet https://windows.php.net/downloads/pecl/releases/pthreads/
Entpacken Sie das Download-Paket
1. Platzieren Sie die Datei pthreadVC2.dll Datei im PHP-Stammverzeichnisphp_.dll
如上图配置就行 , 当前需要把解压的文件拷贝到phpext
2. Kopieren Sie php_pthreads.dll in das PHPext-Verzeichnis.
Starten Sie Apache erneut und stellen Sie fest, dass es nicht gestartet werden kann. Es stellt sich heraus, dass ptheads im CLI-Modus ausgeführt werden muss . Meine Lösung besteht darin, zwei php.ini-Dateien zu erstellen, eine für die Verwendung der php.ini-Datei und die andere für die Verwendung der php-cli.ini-Datei Diesmal ist der Upgrade-Pfad endlich abgeschlossen.
Da der ursprüngliche Poster nicht in einem PHP-Hauptfach geboren wurde, hat er viele Umwege in Kauf genommen, aber die Lücke wurde endlich behoben. Wenn auch alle auf dieses Problem stoßen, können Sie es gemeinsam kommunizieren und diskutieren
Das obige ist der detaillierte Inhalt vonLassen Sie uns über den schwierigen Weg des Upgrades von ThinkPHP3.2.3 von PHP5 auf PHP7 sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!