


Löschen Sie die alte PHP-Version und installieren Sie die neueste PHP-Version und Xdebug unter dem Mac-System
Der Inhalt dieses Artikels befasst sich mit dem Löschen der alten PHP-Version und der Installation der neuesten PHP-Version und Xdebug. Jetzt kann ich ihn mit Ihnen teilen.
Auf meinem 2015er MacPro-System ist standardmäßig PHP7.0 und PHP7.1 mit Brew oder anderen Online-Methoden installiert. Wenn ich jedoch phpinfo() drucke, passierte es erneut Ich hatte das Gefühl, eine Zwangsstörung zu haben und musste mich damit auseinandersetzen. Ich habe mehr als einen Tag verschwendet und fast jede Methode im Internet ausprobiert. Viele von ihnen können jedoch nur als Referenz verwendet werden und sind von geringem Nutzen, da die Computerumgebung bei jedem etwas anders sein kann. Nachdem es fertig ist, können Sie es hier aufzeichnen.
Mein erster Schritt besteht darin, die angezeigte PHP-Version zu löschen. Ich habe vor, alle PHP-Dateien auf dem Computer zu löschen und dann die neueste Version neu zu installieren. Dieser Vorgang ist riskant und erfordert Vorsicht. Dies ist, was das Internet sagt: ps: Es wird nicht empfohlen, die integrierte PHP-Version zu löschen, da einige Software möglicherweise von der PHP-Umgebung abhängt. Sie können jedoch selbst kompilieren oder brew verwenden, um eine neue Version von PHP zu installieren Nicht für Anfänger empfohlen. Denken Sie daran, dies vor dem Betrieb zu tun. Verwenden Sie TM, um das System zu sichern, damit die Dateien nach einem Fehler wiederhergestellt werden können.
Aber Sie müssen das nicht tun. Eine weitere Version sollte in Ordnung sein. Während des Löschvorgangs kann die ausführbare Datei php im Verzeichnis user/bin nicht gelöscht werden. Obwohl es eine Möglichkeit gibt, jede Datei im abgesicherten Modus zu löschen, habe ich dies nicht getan. Diese Datei bleibt erhalten, und es gibt auch php . -config, wenn Sie die Datei mit vi öffnen, können Sie sehen, dass die PHP-Version die älteste ist. Ich vermute, dass dies die Ursache ist.
Als ich dachte, die anderen wären gelöscht, habe ich brew verwendet, um die PHP7.1-Version neu zu installieren. Zu diesem Zeitpunkt werden Sie feststellen, dass dieses Verzeichnisproblem höchste Priorität hat. Viele Tutorials und Pfade im Internet sind nicht mehr verfügbar. . Dann folgen Sie diesem Artikel.
brew Nach der Installation von PHP7.1 wird Folgendes angezeigt:
The Die Dateien php.ini und php-fpm.ini finden Sie unter:
/usr/local/etc/php/7.1
Um PHP in Apache zu aktivieren, fügen Sie Folgendes zu httpd.conf hinzu und starten Sie Apache neu:
LoadModule php7_module /usr/local/opt/php@ 7.1/lib/httpd/modules/libphp7.so
SetHandler application/x-httpd- php
Überprüfen Sie abschließend, ob DirectoryIndex index.php enthält
DirectoryIndex index.php index.html
Die php.ini und php-fpm.ini Die Datei befindet sich in:
/usr/local/etc/php/7.1/
Diese Formel ist nur für Fässer geeignet, was bedeutet, dass sie nicht mit /usr/local verknüpft wurde,
da es sich um eine alternative Version einer anderen Formel handelt.
Wenn Sie diese Software zuerst in Ihrem PATH-Lauf benötigen:
echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile
Damit Compiler diese Software finden, müssen Sie möglicherweise Folgendes festlegen:
LDFLAGS: -L/usr/local/opt/php@7.1/lib
CPPFLAGS: -I/usr/local/opt/php@7.1/include
Um php@7.1 jetzt zu starten und beim Anmelden neu zu starten:
Brew Services starten php@7.1
Oder , wenn Sie keinen Hintergrunddienst wollen/benötigen, können Sie einfach Folgendes ausführen:
php-fpm
Diese Informationen sind sehr nützlich, sagt Some Methoden und Installationspfade. Ich habe diese Informationen erst gelesen, als ich verzweifelt war, und mir wurde klar, dass ich sie wirklich nicht ignorieren und die oben genannten Tipps nicht Schritt für Schritt befolgen konnte. Sie sollten es alle verstehen können, andernfalls können Sie eine Nachricht hinterlassen. Vergessen Sie nach Abschluss nicht, php-fpm neu zu starten
Lassen Sie uns über den Umweg sprechen, den ich beim Neustart von npm gemacht habe
Beim Neustart von php-fpm können zwei Arten von Fehlern auftreten: Einer ist, dass es nicht gefunden werden kann Oder php-fpm öffnen Der zweite ist, dass das error_log gemäß dem Pfad nicht gefunden oder geöffnet werden kann
Lösen Sie den ersten Fehler
Führen Sie ps aux| aus grep php-fpm Sie können den Prozess von
wie
root 21891 0.0 0.0 112660 960 pts/3 R+ 16:18 0:00 grep --color=auto php-fpm root 42891 0.0 0.1 182796 1220 ? Ss 4月18 0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) nobody 42892 0.0 0.6 183000 6516 ? S 4月18 0:07 php-fpm: pool www nobody 42893 0.0 0.6 183000 6508 ? S 4月18 0:17 php-fpm: pool www
sehen. Ich habe oben einen Pfad unter brew kopiert Geben Sie den Installationspfad mit dem Befehl cp in den oben genannten Pfad ein. Wenn Sie das alte PHP nicht löschen, befindet sich in diesem Pfad eine php-fpm.config.default. Sie können diese Datei direkt kopieren und in php-fpm.conf ändern.
Der zweite Fehler ist ein Protokollproblem. Suchen Sie dann die entsprechende php-fpm.conf und öffnen Sie sie. Darin befindet sich ein Protokoll und die entsprechende Adresse. Meine befindet sich im Pfad /usr/local/var und wurde in die tatsächliche Adresse geändert. Die Standardadresse ist falsch.
Dann fpm neu starten, immer noch kein Problem.
php-fpm --fpm-config /usr/local/etc/php/5.4/php-fpm.conf --prefix /usr/local/var
Nachdem ich diesen Satz ausgeführt hatte, stellte ich fest, dass PHP verwendet werden kann, solange das Terminal nicht geschlossen ist. Wenn es jedoch geschlossen ist, bleibt es hängen. . .
Nun, stellen wir es zunächst am Anfang vor. Brew Services starten php@7.1Dieser Befehl
Dann habe ich php -v und php-fpm -v
mengdeMacBook im ausgeführt terminal -Pro:var GHM$ php-fpm -v
PHP 7.1.16 (fpm-fcgi) (erstellt: 12. April 2018 03:25:57)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
mit Xdebug v2.6.0, Copyright (c) 2002-2018, von Derick Rethans
mit Zend OPcache v7.1.16, Copyright (c ) 1999-2018, von Zend Technologies
mengdeMacBook-Pro:var GHM$ php -v
PHP 7.1.16 (cli) (erstellt: 12. April 2018 03:25:50) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
mit Xdebug v2.6.0, Copyright (c) 2002-2018, von Derick Rethans
mit Zend OPcache v7.1.16, Copyright (c) 1999-2018, von Zend Technologies
Zuerst zeigte mein PHP-V die neueste Version an, aber PHP-FPM führte immer noch die alte Version aus. Jetzt ist die Erklärung in Ordnung
Öffnen Sie die Webseite und schauen Sie sich phpinfo() an
PHP Version 7.1.16
System | Darwin mengdeMacBook-Pro.local 16.4.0 Darwin Kernel Version 16.4.0: Thu Dec 22 22:53:21 PST 2016; root:xnu-3789.41.3~3/RELEASE_X86_64 x86_64 |
Build Date | Apr 12 2018 03:24:25 |
Configure Command | './configure' '--prefix=/usr/local/Cellar/php@7.1/7.1.16_1' '--localstatedir=/usr/local/var' '--sysconfdir=/usr/local/etc/php/7.1' '--with-config-file-path=/usr/local/etc/php/7.1' '--with-config-file-scan-dir=/usr/local/etc/php/7.1/conf.d' '--with-pear=/usr/local/Cellar/php@7.1/7.1.16_1/share/php@7.1/pear' '--enable-bcmath' '--enable-calendar' '--enable-dba' '--enable-dtrace' '--enable-exif' '--enable-ftp' '--enable-fpm' '--enable-intl' '--enable-mbregex' '--enable-mbstring' '--enable-mysqlnd' '--enable-opcache-file' '--enable-pcntl' '--enable-phpdbg' '--enable-phpdbg-webhelper' '--enable-shmop' '--enable-soap' '--enable-sockets' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--enable-wddx' '--enable-zip' '--with-apxs2=/usr/local/opt/httpd/bin/apxs' '--with-bz2' '--with-fpm-user=_www' '--with-fpm-group=_www' '--with-freetype-dir=/usr/local/opt/freetype' '--with-gd' '--with-gettext=/usr/local/opt/gettext' '--with-gmp=/usr/local/opt/gmp' '--with-icu-dir=/usr/local/opt/icu4c' '--with-jpeg-dir=/usr/local/opt/jpeg' '--with-kerberos' '--with-layout=GNU' '--with-ldap' '--with-ldap-sasl' '--with-libedit' '--with-libzip' '--with-mcrypt=/usr/local/opt/mcrypt' '--with-mhash' '--with-mysql-sock=/tmp/mysql.sock' '--with-mysqli=mysqlnd' '--with-ndbm' '--with-openssl=/usr/local/opt/openssl' '--with-pdo-dblib=/usr/local/opt/freetds' '--with-pdo-mysql=mysqlnd' '--with-pdo-odbc=unixODBC,/usr/local/opt/unixodbc' '--with-pdo-pgsql=/usr/local/opt/libpq' '--with-pgsql=/usr/local/opt/libpq' '--with-pic' '--with-png-dir=/usr/local/opt/libpng' '--with-pspell=/usr/local/opt/aspell' '--with-unixODBC=/usr/local/opt/unixodbc' '--with-webp-dir=/usr/local/opt/webp' '--with-xmlrpc' '--with-xsl' '--with-zlib' '--with-curl' |
坑多,两天了有些我也忘了,谁有遇到问题可以留言。。。
下面说下xdebug 安装
建议按官方,少走弯路
打开这个xdebug 官方页面
然后command+a 全选,command +v 复制,放到框框里面,运行底部的按钮,会打印出很多我们安装xdebug所需要用到的信息
按步骤走就好了,有一点坑就是,当执行phpsize 的时候报:command cannot find ,这时候找到brew 安装php 的可执行bin目录,直接用那个里面的phpsize 拿来运行,绝对路径运行就可以执行了。还有官方下载的页面有两级目录,而且名字一样,别弄错了,不然运行不了。
Download xdebug-2.6.0.tgz
Unpack the downloaded file with
tar -xvzf xdebug-2.6.0.tgz
Run:
cd xdebug-2.6.0
-
Run:
phpize
(See the FAQ if you don't havephpize
.As part of its output it should show:
Configuring for: ... Zend Module Api No: 20160303 Zend Extension Api No: 320160303
Nach dem Login kopierenIf it does not, you are using the wrong
phpize
. Please followthis FAQ entry and skip the next step. Run:
./configure
Run:
make
Run:
cp modules/xdebug.so /usr/local/lib/php/pecl/20160303
Edit
/usr/local/etc/php/7.1/php.ini
and add the linezend_extension = /usr/local/lib/php/pecl/20160303/xdebug.so
Restart the webserver
然后,刷新pathinfo() ,command+f 查找xdebug
看到这样就成功了
然后就是配置xdebug 了
相关推荐:
Das obige ist der detaillierte Inhalt vonLöschen Sie die alte PHP-Version und installieren Sie die neueste PHP-Version und Xdebug unter dem Mac-System. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
