首頁 > 後端開發 > PHP7 > 主體

mac安裝PHP7時出現的問題總表

藏色散人
發布: 2023-02-17 12:38:02
轉載
4532 人瀏覽過

mac安裝PHP7時出現的問題總表

背景

前幾天在mac上執行workrman,由於workerman需要開啟多個進程,因此多進程需要pcntl擴充的支持,我之前那個brew安裝的php71沒有這個擴展,就直接卸載了php71,然後想下載源碼編譯安裝php7的更高版本,也可以更自由的安裝擴展。

原始碼編譯安裝(php-7.2.7)

#問題一

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前面多了個空格

問題二

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)
登入後複製

解決方法

brew install httpd
find / -name apxs 
Centos下执行 yum install -y httpd-devel
登入後複製

查找到apxs檔路徑,然後修改編譯參數如下

--with-apxs2=/usr/local/bin/apxs
登入後複製

問題三

checking if the location of ZLIB install directory is defined... no ;
configure: error: Cannot find libz.
登入後複製

解決方法

brew install zlib
find / -name lib
登入後複製

加上參數

--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11
登入後複製

問題四##

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安裝成功。

更多PHP7相關知識,請造訪

PHP7專題欄位!

以上是mac安裝PHP7時出現的問題總表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板