오늘 냐오 형제님이 웨이보에 php7 베타1 테스트 버전이 나왔다는 글을 보시고 빠르게 다운로드해서 개발 환경을 PHP7로 업그레이드 했으니 같이 시작하겠습니다. . .
먼저 공식 웹사이트에 가서 php7 베타1 버전을 다운로드해야 합니다
맥에 설치하는거라 리눅스 관련 버전을 다운받았는데 주소가 바로 붙어있습니다
php7 베타1
공식 Windows 버전에도 출시 세부정보가 있습니다. 여기를 클릭하세요
설치 패키지의 압축을 풀고 소스코드 디렉터리를 입력하세요
구성 생성
컴파일 과정에서 겪었던 오류와 해결 방법은 다음과 같습니다.
gettext 설치
구성 파일을 편집하고 $PHP_GETTEXT /usr/local /usr을 찾아 끝에 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'를 실행하는 것을 잊지 마세요.
#
이는 한동안 지속되며 일반적으로 성격에 문제가 없는 한 실수는 발생하지 않습니다. . .
설치
위 단계가 잘 진행되면 이 단계는 매우 간단해 지지만, 설치 과정에서 나중에 구성할 때 필요한 정보에 주의하세요. . .
명령줄 테스트
#향후 경력 편의를 위해 시스템 기본 php 명령어를 직접 교체
#인간으로서 백업도 할 수 있으니 여기서는 그냥 다루겠습니다. . .
불복감도 없고 이렇게 흘러가네요 하하!
아파치 구성
Apache의 구성 파일 httpd.conf를 열고 원본 LoadModule php5_module을 찾아 직접 주석 처리한 후 아래에 LoadModule 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>
마지막으로 아파치를 다시 시작하고 테스트해 보세요
오랫동안 잊혀졌던 장면이 등장합니다. . .
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.