[安裝] mac安裝PHP7經歷

背景

前幾天在mac上跑workrman,因爲workerman須要開啓多個進程,多進程須要pcntl擴展的支持,我以前那個brew安裝的php71沒有這個擴展,就直接卸載了php71,而後想下載源碼編譯安裝php7的更高版本,也能夠更自由的安裝擴展。php

源碼編譯安裝(php-7.2.7)


問題一html

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'

解決:都是由於—with前面多了個空格mysql


問題二web

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)

解決辦法sql

brew install httpd
find / -name apxs 
Centos下執行 yum install -y httpd-devel

查找到apxs文件路徑,而後修改編譯參數以下php7

--with-apxs2=/usr/local/bin/apxs

問題三curl

checking if the location of ZLIB install directory is defined... no ;
configure: error: Cannot find libz.

解決辦法socket

brew install zlib
find / -name lib

加上參數ui

--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11

參考連接url


問題四

configure: error: Cannot locate header file libintl.h
緣由是沒有gettext

解決辦法:

$PHP_GETTEXT /usr/local /usr; do

configure文件改成

for i in $PHP_GETTEXT /usr/local /usr /usr/local/opt/gettext; do

參考連接


問題五

configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>

解決辦法,編譯參數中加上

\--with-iconv=/usr/local/Cellar/libiconv/1.15

參考連接


問題六

checking for libiconv in -liconv... no
checking for iconv in -liconv... no
configure: error: Please reinstall the iconv library.

最終卡在了這裏,沒解決。而後編譯安裝就沒有成功

最後解決到問題五的時候的編譯安裝命令以下:

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

brew安裝

1.搜索brew中的php

brew search php

出現了:php@5.6 php@7.1 php@7.0

2.而後安裝了php7.0

brew install php70

3.將php設置系統環境變量

find / -name php # 先找到php執行文件
cp /usr/local/Cellar/php@7.0/7.0.30_1/bin/php /usr/bin  # 將php執行文件放到/usr/bin/文件夾中

最後

經過源碼編譯安裝沒有成功,仍是brew install安裝成功

相關文章
相關標籤/搜索