>백엔드 개발 >PHP 튜토리얼 >Linux에서 개발된 PHP 확장 설치

Linux에서 개발된 PHP 확장 설치

WBOY
WBOY원래의
2016-07-29 09:15:10955검색

서문 감상

마이마이 친구의 말을 들으면서 컴퓨터 전공의 장점을 점점 더 깨닫게 되면서 프로그램을 오래할수록 중요성을 느끼게 됩니다. 그것은 우회할 수 없는 산과 같아서, 미래는 밝을지 모르지만, 언제나 어려움에 직면하고 온 힘을 다해 그것을 넘어야만 이 산을 만날 수 있습니다. 가던 길을 계속 가세요
프로그래밍을 오래할수록 기본 레이어를 더 많이 연구해야 자신을 향상시킬 수 있으므로 다음 목표는 PHP 소스 코드를 체계적으로 연구하는 것입니다. 마침 제가 성인교육입시에서 C학위를 공부하고 있었는데, 선생님이 NB학사였습니다. C를 읽었다고 주장하는 책 더미가 책상보다 높습니다.

준비

인터넷에서 PHP 확장 개발에 대한 완전한 정보가 많지 않고, 확립된 포럼도 없다는 것을 알게 되었습니다. 이 부분은 수요가 별로 없는 것 같습니다.
먼저 git/svn 또는 공식 웹사이트에서 다운로드할 수 있는 PHP 소스 코드를 다운로드해야 합니다. 인터넷에서 git 아래의 일부 소스 코드에 phpize 도구가 없다고 하기 때문에 공식 웹사이트에서 다운로드했습니다. (나는 그것을 시도하지 않았습니다) phpize는 PHP 확장 Modular를 확장하는 데 사용됩니다.

시작

다운받은 PHP 소스코드 입력
PHP 소스 코드의 ext 디렉터리에 ext_skel 파일이 있습니다. 이를 사용하여 PHP 확장 프레임워크를 쉽게 구축할 수 있습니다. 다음으로 myext 확장

을 만들고 ext 디렉터리에 cd ext/

를 입력합니다.

./ext_skel –extname =myext
myext 디렉토리 생성
기본 파일 생성: config.m4 config.w32 .gitignore myext.c php_myext.h 신용 실험 테스트/001.phpt myext.php [완료].

새 확장을 사용하려면 다음을 실행해야 합니다. 다음 단계:

  1. $ cd ..
  2. $ vi ext/myext/config.m4
  3. $ ./buildconf
  4. $ ./ 구성 –[with|활성화]-myext
  5. $ make
  6. $ ./sapi/cli/php -f ext/myext/myext.php
  7. $ vi ext/ myext/myext.c
  8. $ make

ext/myext/config.m4 및
에 만족할 때까지 3~6단계를 반복합니다. 6단계에서는 모듈이 PHP로 컴파일되었는지 확인한 다음
작성을 시작합니다. 코드를 작성하고 필요한 만큼 자주 마지막 두 단계를 반복하십시오.`

이때 디렉토리에 myext 디렉토리가 있어야 합니다. 이것은 ext_skel이 생성한 확장 프레임워크입니다.
그런 다음 config.m4를 수정해야 합니다
다음 코드 앞의 dnl을 제거하세요:

<code>dnl PHP_ARG_ENABLE(myext, whether <span>to</span> enable myext support,
dnl [  <span>--enable-myext           Enable myext support])</span></code>

저장하고 종료하세요!
컴파일 시작
myext 디렉터리에 있습니다. 다음 코드를 실행합니다:

<code>phpize
<span>.</span>/configure <span>--</span><span>with</span><span>-php</span><span>-config</span><span>=</span>/usr/<span>local</span>/php/bin/php<span>-config</span>
make
make test
make install</code>

make install 후에 확장 디렉터리 /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/을 설치하라는 메시지가 표시됩니다. .myext.so

에 접속하신 후 php.ini
에 확장 정보를 추가하시면 보실 수 있습니다. 확장자 = myext.so
php -m 명령을 사용하여 확장 기능이 성공적으로 설치되었는지 확인하세요.
fpm을 다시 시작하면 phpinfo에서 설치된 확장 프로그램을 볼 수 있습니다.

Linux에서 개발된 PHP 확장 설치

참고

여기에서 확장 프로그램 설치가 완료됩니다.
테스트를 할 때 php.ini에서 일부 기능이 비활성화되어 있다는 경고가 표시됩니다. php.ini의 비활성화 기능을 찾아 경고 기능을 제거하세요.
추가적으로 Linux

config/configure/Configure
에서 GNU의 AUTOCONF와 AUTOMAKE로 생성된 프로그램의 설치 단계를 설명하겠습니다. 이는 설치 플랫폼의 대상 특성을 감지하는 데 사용됩니다. 예를 들어 CC 또는 GCC가 있는지 감지합니다. CC 또는 GCC가 필요하지 않습니다.
이 단계는 일반적으로 다음 컴파일 단계를 준비하기 위해 Makefile을 생성하는 데 사용됩니다. 구성 후 다음과 같은 매개변수를 추가하여 설치를 제어할 수 있습니다. ./configure –prefix=/usr
위의 의미는 /usr
아래에 소프트웨어를 설치한다는 의미입니다. 실행 파일은 /usr/bin(기본 /usr/local/bin 대신)에 설치됩니다.
리소스 파일은 /usr/share(기본 /usr/local/share 대신)에 설치됩니다.
동시에 –sys-c
를 지정하여 일부 소프트웨어의 구성 파일을 지정할 수 있습니다. 컴파일을 제어하기 위한 –with, –enable, –without, –disable 등과 같은 매개변수도 있습니다. ./configure –help
를 통해 자세한 지침과 도움말을 볼 수 있습니다.
을 만들다 이 단계는 컴파일에 사용됩니다. Makefile에서 지침을 읽은 다음
컴파일합니다. 이 단계가 컴파일입니다. 대부분의 소스 코드 패키지는 이 단계를 통해 컴파일됩니다
물론 Perl이나 Python으로 작성된 일부 소프트웨어는 Perl이나 Python을 호출하여 컴파일해야 합니다
make 프로세스 중에 오류가 발생하는 경우 오류 코드(마지막 줄뿐만 아니라 참고)를 기록한 다음 개발자에게 버그 보고서를 제출하거나(보통 INSTALL에 제출 주소가 있음) 시스템에 제출할 수 있습니다. 라이브러리 등의 종속성이 적으므로 오류 코드를 주의 깊게 연구해야 합니다.
테스트하다 / 확인하다
이름에서 알 수 있듯이 이 단계는 make의 이전 단계를 확인하는 것입니다. 즉, 이 단계의 테스트와 확인이 모두 OK여야 하며 오류는 0 sudo make install
이 단계는 설치를 위한 것이기도 합니다. Makefile의 지침을 읽어서 지정된 위치에 설치합니다
. 이 명령을 설치하려면 일반적으로 루트 권한이 필요합니다(시스템에 파일을 써야 하기 때문에). 따라서 sudo

AUTOMAKE 및 AUTOCONF는 C 프로그램을 게시하는 데 매우 유용합니다. 프로그램도 작성하고 AUTOMAKE, AUTOCONF를 사용하고 싶다면 CNGNU.ORG

에서 관련 글을 참고하시면 됩니다.

위 내용은 Linux에서 개발된 PHP 확장 설치에 ​​대한 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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