Background
몇일 전 저는 Workrman을 Mac에서 실행했습니다. Workrman은 여러 프로세스를 열어야 하고 여러 프로세스에는 pcntl 확장의 지원이 필요하기 때문에 이전에 Brew로 설치한 php71은 그렇지 않았습니다. 이 확장기능이 있어서 직접 제거했는데 php71이 있는데 소스코드를 다운받아서 php7 상위 버전을 컴파일해서 설치하고 싶은데, 확장기능도 좀 더 자유롭게 설치할 수 있겠네요.
소스 코드 편집 및 설치(php-7.2.7)
문제 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'
해결책: 다 -with
문제 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)
앞에 여분의 공백이 있기 때문입니다.
brew install httpd find / -name apxs Centos下执行 yum install -y httpd-devel
찾기 apxs 파일 경로로 가서 컴파일 매개변수를 다음과 같이 수정하세요
--with-apxs2=/usr/local/bin/apxs
3번 문제
checking if the location of ZLIB install directory is defined... no ; configure: error: Cannot find libz.
Solution
brew install zlib find / -name lib
Addparameter
--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11
4번 문제
configure: error: Cannot locate header file libintl.h
이유는 거기에 있다는 겁니다 is no gettext
Solution:
$PHP_GETTEXT /usr/local /usr; do
구성 파일이
for i in $PHP_GETTEXT /usr/local /usr /usr/local/opt/gettext; do
Problem 5
configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>
Solution으로 변경되었습니다.
\--with-iconv=/usr/local/Cellar/libiconv/1.15
Problem 6
checking for libiconv in -liconv... no checking for iconv in -liconv... no configure: error: Please reinstall the iconv library.
를 추가하세요. 그러면 컴파일 및 설치 실패]
5번 문제를 해결하기 위한 최종 컴파일 및 설치 명령은 다음과 같습니다.
./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 Installation
1 Brew
brew search php
brew install php70
find / -name php # 先找到php执行文件 cp /usr/local/Cellar/php@7.0/7.0.30_1/bin/php /usr/bin # 将php执行文件放到/usr/bin/文件夹中
마지막으로
소스 코드 컴파일을 통한 설치에 실패했지만 Brew 설치가 완료되었습니다. 성공적인. PHP7 관련 지식이 더 궁금하시다면위 내용은 Mac에 PHP7을 설치할 때 발생하는 문제 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!