Heim  >  Artikel  >  Backend-Entwicklung  >  Löschen Sie die alte PHP-Version und installieren Sie die neueste PHP-Version und Xdebug unter dem Mac-System

Löschen Sie die alte PHP-Version und installieren Sie die neueste PHP-Version und Xdebug unter dem Mac-System

不言
不言Original
2018-05-28 17:07:148332Durchsuche

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 拿来运行,绝对路径运行就可以执行了。还有官方下载的页面有两级目录,而且名字一样,别弄错了,不然运行不了。

  1. Download xdebug-2.6.0.tgz

  2. Unpack the downloaded file with tar -xvzf xdebug-2.6.0.tgz

  3. Run: cd xdebug-2.6.0

  4. 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.

  5. Run: ./configure

  6. Run: make

  7. Run: cp modules/xdebug.so /usr/local/lib/php/pecl/20160303

  8. Edit /usr/local/etc/php/7.1/php.ini and add the line
    zend_extension = /usr/local/lib/php/pecl/20160303/xdebug.so

  9. Restart the webserver

   然后,刷新pathinfo()  ,command+f 查找xdebug


    看到这样就成功了

  然后就是配置xdebug 了

 相关推荐:

Mac上通过docker配置PHP开发环境

Mac apache php 和CGI 的配置

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!

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