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'
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)
Solution
brew install httpd find / -name apxs Centos下执行 yum install -y httpd-devel
Trouvez le chemin du fichier apxs, puis modifiez les paramètres de compilation comme suit
--with-apxs2=/usr/local/bin/apxs
Problème 3
checking if the location of ZLIB install directory is defined... no ; configure: error: Cannot find libz.
Solution
brew install zlib find / -name lib
Ajouter des paramètres
--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11
Problème 4
configure: error: Cannot locate header file libintl.h
La raison est qu'il n'y a pas de gettext
Solution :
$PHP_GETTEXT /usr/local /usr; do
le fichier de configuration est remplacé par
for i in $PHP_GETTEXT /usr/local /usr /usr/local/opt/gettext; do
Problème 5
configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>
Solution, ajoutez
\--with-iconv=/usr/local/Cellar/libiconv/1.15
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.
[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
installation brassée
1. La recherche php
brew search php
dans Brew est apparue : php@5.6 php@7.1 php@7.0
2 Puis installé php7.0
brew install php70
3. variable
find / -name php # 先找到php执行文件 cp /usr/local/Cellar/php@7.0/7.0.30_1/bin/php /usr/bin # 将php执行文件放到/usr/bin/文件夹中
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!