Maison > développement back-end > PHP7 > le corps du texte

Résumé des problèmes qui surviennent lors de l'installation de PHP7 sur mac

藏色散人
Libérer: 2023-02-17 12:38:02
avant
4541 Les gens l'ont consulté

Résumé des problèmes qui surviennent lors de l'installation de PHP7 sur mac

Contexte

Il y a quelques jours, j'ai exécuté Workrman sur Mac, car Workman doit ouvrir plusieurs processus, plusieurs -process Il a besoin du support de l'extension pcntl. Le php71 que j'ai installé avec Brew auparavant n'avait pas cette extension, j'ai donc désinstallé php71 directement. Ensuite, j'ai voulu télécharger le code source, compiler et installer une version supérieure de php7, et installer le. extension plus librement.

Compilation et installation du code source (php-7.2.7)

Problème 1

configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type:
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type:  --enable-fpm
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type:  --with-mysqli
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type:  --with-pdo-mysql
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type:  --with-iconv-dir
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type:  --with-eeeetype-dir
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type:  --with-zlib
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type:  --with-jpeg-dir
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type:  --with-png-dir
configure: error: invalid variable name: ` --with-libxml-dir'
Copier après la connexion

Solution : tout cela parce que— avec Il y a un espace supplémentaire devant

Problème 2

Sorry, I cannot run apxs. Possible reasons follow:
1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)
Copier après la connexion

Solution

brew install httpd
find / -name apxs 
Centos下执行 yum install -y httpd-devel
Copier après la connexion

Trouvez le chemin du fichier apxs, puis modifiez les paramètres de compilation comme suit

--with-apxs2=/usr/local/bin/apxs
Copier après la connexion

Problème 3

checking if the location of ZLIB install directory is defined... no ;
configure: error: Cannot find libz.
Copier après la connexion

Solution

brew install zlib
find / -name lib
Copier après la connexion

Ajouter des paramètres

--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11
Copier après la connexion

Problème 4

configure: error: Cannot locate header file libintl.h
Copier après la connexion

La raison est qu'il n'y a pas de gettext

Solution :

$PHP_GETTEXT /usr/local /usr; do
Copier après la connexion

le fichier de configuration est remplacé par

for i in $PHP_GETTEXT /usr/local /usr /usr/local/opt/gettext; do
Copier après la connexion

Problème 5

configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>
Copier après la connexion

Solution, ajoutez

\--with-iconv=/usr/local/Cellar/libiconv/1.15
Copier après la connexion

aux paramètres de compilation Question 6

checking for libiconv in -liconv... no
checking for iconv in -liconv... no
configure: error: Please reinstall the iconv library.
Copier après la connexion

[J'ai fini par rester coincé ici et je n'ai pas pu le résoudre. Ensuite, la compilation et l'installation ont échoué]

La commande de compilation et d'installation lors de la résolution finale du problème 5 est la suivante :

./configure --prefix=/usr/local/php/7.2.7\—with-config-file-path=/usr/local/php/7.2.7/etc \--with-config-file-scan-dir=/usr/local/php/7.2.7/etc/conf.d  \--with-apxs2=/usr/local/bin/apxs \--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11 \--enable-fpm \--with-fpm-user=www \--with-fpm-group=www \--with-mysqli \--with-pdo-mysql  \--with-iconv=/usr/local/Cellar/libiconv/1.15 \--with-eeeetype-dir \--with-zlib \--with-jpeg-dir \--with-png-dir \--with-libxml-dir=/usr/bin/xml2-config \--enable-xml \--disable-rpath \--enable-bcmath \--enable-shmop \--enable-sysvsem \--enable-inline-optimization \--with-curl \--enable-mbregex \--enable-mbstring \--with-mcrypt \--enable-ftp \--with-gd \--enable-gd-native-ttf \--with-onsnssl \--with-mhash \--enable-pcntl \--enable-sockets \--with-xmlrpc \--enable-zip \--enable-soap \--without-pear \--with-gettext \--disable-fileinfo \--enable-maintnener-zts \--enable-mysqlnd
Copier après la connexion

installation brassée

1. La recherche php

brew search php
Copier après la connexion

dans Brew est apparue : php@5.6 php@7.1 php@7.0

2 Puis installé php7.0

brew install php70
Copier après la connexion

3. variable

find / -name php # 先找到php执行文件
cp /usr/local/Cellar/php@7.0/7.0.30_1/bin/php /usr/bin  # 将php执行文件放到/usr/bin/文件夹中
Copier après la connexion

Finalement,

n'a pas pu être installé via la compilation du code source, mais Brew Install a été installé avec succès.

Pour plus de connaissances sur PHP7, veuillez visiter la colonne spéciale PHP7 !

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal