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
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 have phpize
.
As part of its output it should show:
Configuring for: ... Zend Module Api No: 20160303 Zend Extension Api No: 320160303
If 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!