최근에 컴퓨터를 사용하여 작은 것을 만들었는데 확인 코드를 사용해야 했습니다. thinkPHP 프레임워크를 사용했습니다. TP용 확인 코드는 APACHE 및 PHP와 함께 제공되는 freetype 라이브러리에서 지원되어야 합니다. 직접 구성해서 사용할 수 있고, 아주 편리하고, 확장 지원도 많아서 꽤 편리한데 프리타입에는 없어서 불편한 점이 있습니다.
사실 전혀 번거롭지 않습니다. 지원만 추가하면 됩니다.. 아니면 자체 컴파일된 환경이 다루기 쉽긴 하지만, 자체 환경을 사용하기 때문에 시스템도 바꾸고 싶지 않습니다. 왜냐하면 시스템에 자체적인 Apache나 PHP 지원이 필요한 다른 구성 요소가 있고 이를 변경하면 다른 문제가 발생할까봐 걱정되기 때문입니다. 그래서 인터넷에 있는 대부분의 단어는 다음과 같습니다. PHP를 다시 컴파일하고 프리타입 지원을 추가했지만 세부 사항을 다루지 않았습니다. 이틀 동안 할 일이 없어서 고민하고 완료했습니다.
PHP 관련을 다시 다운로드하여 설치하는 것이 좋습니다. 원래 환경을 손상시키지 않도록 동시에 /usr/libexec/apache2/libphp5.so 파일을 백업하고 libphp5-OX.so로 이름을 바꾼 다음 /etc에 항목을 추가합니다. httpd.conf:
#LoadModule php5_module libexec/apache2/libphp5-OX.so
이것은 내장된 PHP와 새로 컴파일된 PHP 사이를 쉽게 전환할 수 있습니다
우선:
gd 다운로드:
https://github.com/libgd/libgd/releases
libgd-2.1.1.tar.gz
brew를 통해 설치할 수 있는 png 및 jpeg는 물론 리프트오프 및 libvpx 라이브러리도 필요합니다.
brew install libpng
brew install libjpeg
brew install libtiff
Brew install libvpx
GD 컴파일(참고, Brew, png jpeg 등으로 설치된 해당 라이브러리 위치 사용):
./configure --prefix=/usr/local/gd2 --with-zlib --with-png=/usr/local/opt/libpng --with-freetype=/usr/local/opt/freetype --with - jpeg=/usr/local/opt/jpeg/ --with-vpx=/usr/local/opt/libvpx/ --with-tiff=/usr/local/opt/libtiff/
그런 다음 다음에서 다운로드하세요. PHP 공식 웹사이트 PHP 버전은 시스템 버전과 다를 수 있지만 문제가 되지 않습니다.
여기서 MAC 시스템에는 일부 디렉토리에 액세스할 수 없게 만드는 시스템 파일 보호 기능(SIP)이 있다는 점에 유의해야 합니다. ROOT 사용자에게도 마찬가지입니다. 우리는 APACHE가 아닌 PHP만 교체하려고 하기 때문에 PHP가 apache에 필요한 libphp5.so를 컴파일하고 생성할 때 이 파일을 /usr/libexec/apache2/ 디렉터리에 넣어야 하며 이 디렉터리는 보호하려면 먼저 시스템 보호를 꺼야 합니다. 끄는 단계는 다음과 같습니다.
1. MAC을 다시 시작하고 command+R 키를 길게 누른 후 MAC 아이콘 2. 복구 모드로 부팅합니다. 마지막으로 도구 메뉴에서 터미널을 찾아 엽니다.
3. csrutil 비활성화 명령을 사용하여 닫은 다음 재부팅합니다.
나중에 다시 활성화하려면 csrutil 활성화;를 사용하면 됩니다.
그런 다음
PHP를 컴파일
./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/ --with-apxs2 -- 활성화-소켓 --enable-mbstring --with-bz2=shared --with-ic --with-mysql --with-gd=/usr/local/gd2/ --with-pdo-mysql
여기서 I 시스템 처리와 관련된 가장 사악한 종속성이 발생했습니다. 우선 다음과 같이 보고되었습니다.
'X11/xpm.h' 파일을 찾을 수 없습니다
이 프롬프트에 따라 다음과 같이 libXpm 패키지를 설치해야 합니다.
libXpm-3.5.5.tar.bz2
그러나 이 패키지를 설치하면 다음 메시지가 표시됩니다.
'x11' 패키지가 없습니다.
'xproto' 패키지가 없습니다.
그런 다음 설치하세요.
libX11-1.5.0.tar.gz
xproto 패키지의 경우
X11 설치 시 일련의 종속 패키지가 있을 수 있으니, 천천히 설치하시기 바랍니다.
참고사항
패키지가 너무 많고, 이러한 패키지는 종속성을 확인하기 위해 pkg-config를 사용하므로 pkg-config를 설치해야 합니다(brew를 사용하여 설치할 수도 있습니다).
및 pkg-config는 환경을 통해 종속성을 확인합니다. 변수: PKG_CONFIG_PATH는 해당 패키지를 확인합니다. 따라서 내 접근 방식은 이러한 모든 패키지를 하나의 디렉터리에 설치한 다음 환경 변수를 구성하는 것입니다.
export PKG_C/local/xproto/lib/pkgconfig:/usr/lib /pkgconfig:/usr /local/lib/pkgconfig
다음으로 어떤 패키지가 누락되었는지 묻는 메시지가 나타나면 해당 패키지를 찾아 tar.gz 형식으로 다운로드하고
압축을 푼 다음
통합됩니다. 설치 경로:
./configure — prefix=/usr/local/xproto
팁: 대부분의 해당 패키지는
lists.freedesktop.org
및
ftp:/에서 찾을 수 있습니다. /ftp.x.org/pub/X11R7 .7/
이 두 가지 중에서
을 찾았습니다. 굳이 찾고 싶지 않아 설치 과정에서 다운로드한 패키지를 패키지로 만들었습니다. 모든 사람이 다운로드할 수 있도록 업로드했습니다.
http://download.csdn.net/detail/sdomain/9432886
모든 패키지가 설치되면 마침내
libXpm-3.5.5.tar.bz2
이번 설치는
마지막으로 PHP를 컴파일하고 xpm 확장자를 추가합니다.
./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/ --with-apxs2 --enable-sockets --enable -mbstring --with-bz2=공유 --with-ic --with-mysql --with-gd=/usr/local/gd2/ --with-pdo-mysql --with-xpm-dir=/usr/ local/xproto
configure에는 문제가 없지만 만들 때 gd.c 파일에서 헤더 파일 X11/xpm.h를 찾을 수 없다는 메시지가 표시되는데 이는 분명히 지정했습니다. —with-xpm-path =/usr/local/xproto, 이 경로의 include/X11/ 아래에 xpm.h 파일이 있습니다.
—with-xpm-path=/usr/local/xproto/include를 이렇게 변경한 후에는 구성을 통과할 수 없습니다.
gd.c의 포함 경로를 include/X11/xpm.h로 변경해도 작동하지 않습니다. 🎜> 마지막으로 /usr/local/xproto/include 아래의 X11 폴더를 PHP 소스코드 아래의 ext/gd/ 폴더에 복사해두었고, make install에도 문제가 없었나 봅니다. 문제에 대해서는 $PATH를 변경하고 /usr/local/xproto/include를 추가하는 것이 가능할 수 있습니다.
이상은 mac OS X에 포함된 PHP 환경을 소개한 것입니다. 관련 내용을 포함한 프리타입 솔루션은 없습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.