>php教程 >php手册 >Linux 환경에서 PHP에 mbstring 확장 추가

Linux 환경에서 PHP에 mbstring 확장 추가

WBOY
WBOY원래의
2016-08-20 08:47:37976검색

1. 오늘은 프로젝트 개발 시 php 함수(mb_strcut)를 사용했는데, 코드를 실행하면 "mb_strcut 함수 호출"이라는 오류 메시지가 뜹니다. 먼저 함수 이름이 잘못 쓰여있지 않은지 확인해보세요. php.ini? Extension에서 활성화되지 않았기 때문입니다. 나중에 mb_strcut이 로드되지 않았는지 확인하기 위해 phpinfo에 갔습니다. 나는 이 확장이 공식적으로 mbstring에 의해 구축되었다는 것을 백그라운드에서 알게 되었습니다

2. php의 공식 pecl 홈페이지에서 검색할 때 MDZZ를 찾을 수 없습니다. php 설치 패키지에 모든 확장 기능이 포함되어 있으므로 작성자는 wget을 사용하여 php5.6.24 소스 코드 패키지를 다운로드합니다. http: //php.net/downloads.php 목록에 들어가셔서 필요한 PHP 소스코드 패키지를 선택하세요. 호스트 서버에서 사용하는 버전이 5.6.24 이므로 wget 을 이용해서 다운로드하시면 무조건 5.6.24 를 다운로드 하세요. 다운로드 디렉토리는 현재 디렉토리를 알기 위해 weget 명령 형식은 매우 간단합니다: wget [url] (wget http://hk1.php.net/get/php-와 같이 PHP 5.6.25 패키지를 직접 다운로드하는 것이 좋습니다. 5.6.25.tar.bz2/from /this/mirror) 다운로드 후 미러 파일을 얻은 다음 tar -zxvf 미러를 사용하여 압축을 풀고 폴더를 찾으십시오. PHP 확장의 소스 파일 필요한 것을 찾으십시오. 포스터에 필요한 확장과 mbstring을 찾은 후 phpize를 사용하여 설치할 수 있습니다. phpize는 확장 기능을 동적으로 추가하기 위한 공식 도구입니다. phpize에 대해 자세히 알아보세요

3. 우선 현재 시스템에 phpize가 존재하고 사용할 수 있는지 확인해야 합니다. whereis phpize로 검색 결과를 볼 수 있습니다. 예를 들어 포스터는 /usr/bin/phpize입니다. , 직접 사용하셔도 됩니다. 일반적으로 phpize는 /usr/bin 하위에 포함되어 있습니다. phpize 명령의 실행 경로를 확인한 후, 컴파일하고 설치해야 하는 확장 디렉터리를 입력합니다. mbstring을 입력하면 됩니다. 디렉토리를 입력한 후 현재 위치에서 /usr 명령을 입력하십시오. /bin/phpize 명령이 실행되면 해당 디렉토리에 configure..를 포함하여 여러 파일이 더 있을 것입니다. 그런 다음 ./를 입력하십시오. 구성 --with-php-config=/usr/local/php/bin/php-config 명령 참고 앞에 점이 있으면 php-config 경로가 내 경로와 일치하지 않는다는 의미입니다. whereis php-config를 사용하여 이 파일을 찾은 다음 올바른 경로로 변경할 수 있습니다. 오류가 보고되지 않으면 make 및 make install 명령을 순서대로 실행합니다. 이 경로에는 우리가 컴파일한 좋은 확장이 있습니다. 예를 들어 원본 포스터에서 생성된 확장은 /usr/lib64/php/modules에 있습니다. 방금 생성된 확장을 볼 수 있습니다. . Linux에서 확장자의 접미사는 .so입니다. 원본 포스터의 micro mbstring.so, 이 단계가 완료되었습니다

4. 이 단계에서는 php.ini 구성 파일을 수정해야 합니다. 또한 whereis php.ini를 사용하여 구성을 찾은 후 Php.ini 파일이 있는 디렉터리를 찾습니다. 파일에서 vi /etc/php.ini 명령 또는 vim /etc/php.ini 명령을 사용하여 이 파일을 엽니다. 기본값은 vim 단축키 G를 사용하여 문자 하단을 빠르게 찾고 한 줄을 추가합니다. Extension=mbstring.so 이 줄은 방금 생성한 확장을 시작하는 것입니다. 질문 하나: 확장을 저장하기 위해 기본 위치를 사용하는 경우, Extension_dir을 선언한 경우 방금 생성한 .so 파일을 복사하세요. 현재 구성 파일에서 확장 파일을 선언된 폴더에 넣어야 합니다. 이 방법으로만 확장 파일을 로드할 수 있습니다. 확장자 = mbstring 추가 후 어젯밤에 이 단계가 완료되었습니다

5. 마지막 단계에서는 서버를 다시 시작해야 합니다. 포스터는 LNMP를 사용하므로, Lamp를 사용하는 경우 apche와 php-fpm을 다시 시작해야 합니다. php-fpm이 활성화되지 않았으므로 php-fpm을 다시 시작할 필요가 없습니다. nginx를 활성화하려면 nginx와 함께 제공되는 관리 명령을 사용할 수 있습니다. 또한 nginx 명령 실행 디렉터리를 찾으려면 whereis nginx를 사용하면 됩니다. 원본 포스터는 /usr입니다. /sbin/nginx, /usr/를 입력합니다. sbin/nginx -s reload 후 nginx 서비스를 다시 시작합니다. 이전 경로는 원래 포스터와 다를 수 있습니다. 다음으로 php-fpm을 다시 시작합니다. 먼저 ps -aux | grep php -fpm 현재 시스템에서 php-fpm을 포함한 프로세스 목록을 가져옵니다. 필요한 것은 php-fpm.conf 파일을 로드한 프로세스의 프로세스 번호입니다. 두 번째 열은 프로세스 번호를 찾은 후 kill을 사용합니다(여기서 지금 프로세스 번호를 입력하세요). 예를 들어 포스터는 31411이고 kill 31411입니다. 그러면 php-fpm 프로세스가 중지됩니다. whereis php-fpm을 사용하여 php-fpm이 실행한 명령의 경로를 확인합니다. 포스터의 경로는 /usr /sbin/php-fpm이며, /usr/sbin/php-fpm을 실행한 후 php-fpm을 다시 시작할 수 있습니다. , phpinfo()로 이동하면 우리가 추가한 확장이 이미 목록에 있음을 확인할 수 있습니다. 이 시점에서 우리는 PHP에 확장 기능 추가를 완료했습니다. 설치 후에도 여전히 나타나지 않으면 어떤 단계를 잘못했는지 주의 깊게 확인해야 합니다. 또한 원본 포스터의 이메일 주소는 jeefs-@outlook.com입니다. 궁금한 사항이 있으면 이메일을 보내주세요.

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