>백엔드 개발 >PHP 튜토리얼 >Mac_php 팁에서 PHP7 개발 환경 컴파일 및 설치

Mac_php 팁에서 PHP7 개발 환경 컴파일 및 설치

WBOY
WBOY원래의
2016-05-16 20:10:071609검색

오늘 냐오 형제님이 웨이보에 php7 베타1 테스트 버전이 나왔다는 글을 보시고 빠르게 다운로드해서 개발 환경을 PHP7로 업그레이드 했으니 같이 시작하겠습니다. . .

먼저 공식 웹사이트에 가서 php7 베타1 버전을 다운로드해야 합니다

맥에 설치하는거라 리눅스 관련 버전을 다운받았는데 주소가 바로 붙어있습니다

php7 베타1

공식 Windows 버전에도 출시 세부정보가 있습니다. 여기를 클릭하세요

설치 패키지의 압축을 풀고 소스코드 디렉터리를 입력하세요

코드 복사 코드는 다음과 같습니다.

tar -zxvf php-7.0.0beta1.tar.gz
cd php-7.0.0beta1

구성 생성

코드 복사 코드는 다음과 같습니다.

./buildconf --force
./configure --prefix=/usr/local/php7 --with-apxs2=/usr/sbin/apxs --enable-fpm --with-fpm-user=www--with-fpm-group=www -- with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir =/usr--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-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc - -enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts

컴파일 과정에서 겪었던 오류와 해결 방법은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

구성: 오류: 헤더 파일 libintl.h를 찾을 수 없습니다

gettext 설치

코드 복사 코드는 다음과 같습니다.

sudo Brew 설치 gettext

구성 파일을 편집하고 $PHP_GETTEXT /usr/local /usr을 찾아 끝에 gettext 경로를 추가하세요

코드 복사 코드는 다음과 같습니다.
$PHP_GETTEXT /usr/local /usr /usr/local /opt/ gettext

재구성만 하면 됩니다. [다음 매개변수는 위와 동일하며 여기서는 생략]

이전에 여기에 php7 알파 버전을 설치해 두었기 때문에 오류가 덜할 것입니다. 다만, 과정에서 오류가 있으면 모두가 함께 공부할 수 있도록 직접 게시해 주시기 바랍니다.

컴파일

만들다

#
phar.php 생성
phar.phar 생성
PEAR 패키지 PHP_Archive가 설치되지 않았습니다. 생성된 phar를 사용하려면 PHP의 phar 확장을 활성화해야 합니다.
clicommand.inc
디렉토리graphiterator.inc
디렉토리트리이터레이터.inc
invertedregexiterator.inc
pharmacommand.inc
phar.inc

빌드가 완료되었습니다.
'make test'를 실행하는 것을 잊지 마세요.
#
이는 한동안 지속되며 일반적으로 성격에 문제가 없는 한 실수는 발생하지 않습니다. . .

설치

코드 복사 코드는 다음과 같습니다.

sudo make 설치

위 단계가 잘 진행되면 이 단계는 매우 간단해 지지만, 설치 과정에서 나중에 구성할 때 필요한 정보에 주의하세요. . .

명령줄 테스트

코드 복사 코드는 다음과 같습니다.

/usr/local/php7/bin7 -v

#향후 경력 편의를 위해 시스템 기본 php 명령어를 직접 교체
#인간으로서 백업도 할 수 있으니 여기서는 그냥 다루겠습니다. . .

코드 복사 코드는 다음과 같습니다.

sudo cp /usr/local/php7/bin/ph* /usr/bin/

불복감도 없고 이렇게 흘러가네요 하하!

아파치 구성

Apache의 구성 파일 httpd.conf를 열고 원본 LoadModule php5_module을 찾아 직접 주석 처리한 후 아래에 LoadModule php7_module /usr/libexec/apache2/libphp7.so를 추가하고 마지막으로 다음과 같이 하세요.

코드 복사 코드는 다음과 같습니다.

sudo vim /etc/apache2/httpd.conf
...
#LoadModule php5_module libexec/apache2/libphp5.so
로드모듈 php7_module /usr/libexec/apache2/libphp7.so
...

아파치를 다시 시작하고 사용해 보세요

php 파일이 브라우저에 바로 출력되는 것을 보고 놀랐습니다. . .

아파치가 PHP 파일을 파싱하는 방법을 모르는 것 같아요! ! !

여기서 오랫동안 문제를 해결해 봤는데 php5 버전으로 전환하면 문제가 없는데 php7에서 파싱이 안 되네요???

마지막으로 Apache는 ifModule php5_module과 같은 PHP를 구문 분석할 때 모듈의 적합성을 결정한다는 것을 발견했습니다. httpd.conf에서 /private/etc/apache2/other/*.conf를 포함하고 해당 디렉터리로 들어갑니다. 한번 보시면 이해가 되실 겁니다...

그 안에 php5.conf 파일이 들어있어요. php7이 php7 파일에 대응해야 한다는 뜻인가요? 그래서 얼른 복사해서 파일을 열어보니 php5_module과 비슷한 단어가 보이니 그냥 바꿔버렸습니다. php7_module.php 관련 내용은 다음과 같습니다.

#httpd.conf改动
...
<IfModule php5_module>
Include /private/etc/apache2/other/php5.conf
</IfModule>

<IfModule php7_module>
Include /private/etc/apache2/other/php7.conf
</IfModule>

#Include /private/etc/apache2/other/*.conf
...

#php7.conf内容
<IfModule php7_module>
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps

  <IfModule dir_module>
      DirectoryIndex index.html index.php
  </IfModule>
</IfModule>

마지막으로 아파치를 다시 시작하고 테스트해 보세요

코드 복사 코드는 다음과 같습니다.

sudo apachectl 재시작

오랫동안 잊혀졌던 장면이 등장합니다. . .

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.