Maison  >  Article  >  développement back-end  >  Supprimez l'ancienne version de php et installez la dernière version de php et Xdebug sous le système mac

Supprimez l'ancienne version de php et installez la dernière version de php et Xdebug sous le système mac

不言
不言original
2018-05-28 17:07:148413parcourir

Le contenu de cet article concerne la suppression de l'ancienne version de php et l'installation de la dernière version de php et de Xdebug sous le système mac. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Mon système macpro 2015 a la version php5.6.28 installée par défaut. J'ai installé php7.0 et php7.1 en utilisant Brew ou d'autres méthodes en ligne. Cependant, lorsque j'imprime phpinfo(), mon php5 s'est reproduit le 6.28. J'avais l'impression d'avoir un trouble obsessionnel-compulsif et j'ai dû y faire face. J'ai perdu plus d'une journée et j'ai essayé presque toutes les méthodes disponibles sur Internet. Cependant, beaucoup d’entre eux ne peuvent être utilisés qu’à titre de référence et sont de peu d’utilité, car l’environnement informatique de chacun peut être légèrement différent. Maintenant que c'est fait, enregistrez-le ici.

Ma première étape consiste à supprimer la version php que je vois. Je prévois de supprimer tous les php sur l'ordinateur, puis de réinstaller la dernière version. Cette opération est risquée et nécessite de la prudence. Voici ce que dit Internet : ps : Il n'est pas recommandé de supprimer la version PHP intégrée car certains logiciels peuvent dépendre de l'environnement PHP. Bien que vous puissiez vous auto-compiler ou utiliser Brew pour installer une nouvelle version de PHP, c'est le cas. non recommandé aux novices N'oubliez pas de le faire avant d'utiliser TM pour sauvegarder le système afin que les fichiers puissent être restaurés après une erreur.

Mais vous n’êtes pas obligé de faire ça. Une version supplémentaire devrait suffire. Pendant le processus de suppression, le fichier exécutable php dans le répertoire user/bin ne peut pas être supprimé. Bien qu'il existe un moyen de supprimer n'importe quel fichier en mode sans échec sur Mac, je ne l'ai pas fait. Ce fichier est conservé, et il y a aussi du php. .-config, lorsque vous ouvrez le fichier avec vi, vous pouvez voir que la version php est la plus ancienne, je suppose que cela peut en être la cause.

Quand j'ai pensé que les autres étaient supprimés, j'ai utilisé Brew pour réinstaller la version php7.1. À l’heure actuelle, vous constaterez que cette question d’annuaire est devenue une priorité absolue. De nombreux didacticiels et chemins sur Internet ne sont plus disponibles. . Alors suivez cet article.

brew Après avoir installé php7.1, il y aura quelque chose ci-dessous :

Le Les fichiers php.ini et php-fpm.ini se trouvent dans :

/usr/local/etc/php/7.1

Pour activer PHP dans Apache, ajoutez ce qui suit à httpd.conf et redémarrez Apache :

LoadModule php7_module /usr/local/opt/php@ 7.1/lib/httpd/modules/libphp7.so

 SetHandler application/x-httpd- php

Enfin, vérifiez que DirectoryIndex inclut index.php

    DirectoryIndex index.php index.html


Le php.ini et le php-fpm.ini Le fichier peut être trouvé dans :

    /usr/local/etc/php/7.1/


Cette formule concerne uniquement le fût, ce qui signifie qu'elle n'a pas été liée symboliquement à /usr/local,

car il s'agit d'une version alternative d'une autre formule.


Si vous devez d'abord avoir ce logiciel dans votre exécution PATH :

  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


Pour que les compilateurs trouvent ce logiciel, vous devrez peut-être définir :

    LDFLAGS :  -L/usr/local/opt/php@7.1/lib

   CPPFLAGS : -I/usr/local/opt/php@7.1/include

Pour que launchd démarre php@7.1 maintenant et redémarrez à la connexion :

Brew Services démarre php@7.1

Ou , si vous ne voulez pas/avez besoin d'un service en arrière-plan, vous pouvez simplement exécuter :

php-fpm

Cette information est très utile, dit-elle à certains méthodes et chemins d’installation. Je n’ai lu ces informations que lorsque j’étais désespéré et j’ai réalisé que je ne pouvais vraiment pas les ignorer et que je ne pouvais pas suivre les conseils ci-dessus étape par étape. Vous devriez tous pouvoir le comprendre, sinon vous pouvez laisser un message. Après avoir terminé, n'oubliez pas de redémarrer php-fpm

Parlons du détour que j'ai fait au redémarrage de npm

Il peut y avoir deux types d'erreurs lors du redémarrage de php-fpm, la première est qu'il est introuvable ou ouvrez php-fpm. La seconde est que le journal d'erreur ne peut pas être trouvé ou ouvert selon le chemin

Résoudre la première erreur

Exécuter. ps aux|grep php-fpm pour voir php-fpm Le processus de

tel que

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

peut être vu qu'il y a un chemin ci-dessus. sous le chemin d'installation de Brew vers le chemin ci-dessus à l'aide de la commande cp. Si vous ne supprimez pas l'ancien php, il y aura un php-fpm.config.default dans ce chemin. Vous pouvez copier ce fichier directement et le changer en php-fpm.conf.

La deuxième erreur est un problème de log, puis recherchez le php-fpm.conf correspondant et ouvrez-le. Il y a un log dedans et l'adresse correspondante Trouvez l'adresse du log sous mac. Le mien se trouve dans le chemin /usr/local/var et est remplacé par l'adresse réelle. L'adresse par défaut est erronée.

Puis redémarrez fpm, toujours pas de problème.

php-fpm --fpm-config /usr/local/etc/php/5.4/php-fpm.conf --prefix /usr/local/var

Après avoir exécuté cette phrase, j'ai découvert que tant que le terminal n'est pas fermé, php peut être utilisé, mais s'il est fermé, il se bloquera. . .

Eh bien, commençons par le présenter au début. brew services start php@7.1 Cette commande

Ensuite, j'ai exécuté php -v et php-fpm -v

mengdeMacBook dans le terminal -Pro:var GHM$ php-fpm -v
PHP 7.1.16 (fpm-fcgi) (construit : 12 avril 2018 03:25:57)
Copyright (c) 1997-2018 Le groupe PHP
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
avec Xdebug v2.6.0, Copyright (c) 2002-2018, par Derick Rethans
avec Zend OPcache v7.1.16, Copyright (c ) 1999-2018, par Zend Technologies
mengdeMacBook-Pro:var GHM$ php -v
PHP 7.1.16 (cli) (construit : 12 avril 2018 03:25:50) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
avec Xdebug v2.6.0, Copyright (c) 2002-2018, par Derick Rethans
avec Zend OPcache v7.1.16, Copyright (c) 1999-2018, par Zend Technologies

Au début, mon php-v affichait la dernière version, mais php-fpm exécutait toujours l'ancienne version. Maintenant, l'explication est ok

Ouvrez la page Web et regardez phpinfo()

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 的配置

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn