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
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()
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 了
相关推荐:
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!