linux - php7.0.13 설치가 완료되었지만 gd 라이브러리에 freetype이 없습니다.

WBOY
풀어 주다: 2023-03-01 20:00:02
원래의
2664명이 탐색했습니다.

Linux 초보자는 Red Hat 7.0 아래에 PHP 7.0.13을 설치했습니다. 완료 후 phoinfo의 gd 확장에는 freetype이 없습니다.

스크립트 컴파일

<code>./configure --with-apxs2=/usr/local/apache/bin/apxs  --prefix=/usr/local/php --with-gd --with-freetype-dir=/usr/include/freetype2/freetype
</code>
로그인 후 복사
로그인 후 복사

Freetype은 yum을 사용하여 설치되며 위치는 /usr/include/freetype2/freetype입니다. 컴파일이 완료되고 php가 설치되면 freetype이 설치되지 않은 것 같습니다. 여러 번 시도했지만 작동하지 않았습니다. 저는 Linux를 처음 접했고 문제가 어디에 있는지 모르겠습니다. 도와주시고 살펴보시기 바랍니다.

아래 그림은 phpinfo에서 gd 라이브러리 정보를 보여주고 있는데, gd 라이브러리가 설치되어 있는 것을 볼 수 있습니다.

linux - php7.0.13 설치가 완료되었지만 gd 라이브러리에 freetype이 없습니다.

답글 내용:

Linux 초보자는 Red Hat 7.0 아래에 PHP 7.0.13을 설치했습니다. 완료 후 phoinfo의 gd 확장에는 freetype이 없습니다.

스크립트 컴파일

<code>./configure --with-apxs2=/usr/local/apache/bin/apxs  --prefix=/usr/local/php --with-gd --with-freetype-dir=/usr/include/freetype2/freetype
</code>
로그인 후 복사
로그인 후 복사

Freetype은 yum을 사용하여 설치되며 위치는 /usr/include/freetype2/freetype입니다. 컴파일이 완료되고 php가 설치되면 freetype이 설치되지 않은 것 같습니다. 여러 번 시도했지만 작동하지 않았습니다. 저는 Linux를 처음 접했고 문제가 어디에 있는지 모르겠습니다. 도와주시고 살펴보시기 바랍니다.

아래 그림은 phpinfo에서 gd 라이브러리 정보를 보여주고 있는데, gd 라이브러리가 설치되어 있는 것을 볼 수 있습니다.

linux - php7.0.13 설치가 완료되었지만 gd 라이브러리에 freetype이 없습니다.

이전에 설치 알림 [cetnos 7]을 작성해서 직접 붙여넣었습니다.
Freetype 스크린샷:
linux - php7.0.13 설치가 완료되었지만 gd 라이브러리에 freetype이 없습니다.

종속 패키지 설치

<code class="shell">yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel</code>
로그인 후 복사

php 설치

구성

<code class="shell">./configure --prefix=/alidata/server/php-7.0.5  --enable-fpm --with-fpm-user=nginx  --with-fpm-group=nginx --enable-inline-optimization --disable-debug --disable-rpath --enable-shared  --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv=/usr/local --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir  --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets  --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache
</code>
로그인 후 복사

libiconv가 누락되었습니다

<code class="shell">wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14.1
 ./configure --prefix=/usr/local
make && make install</code>
로그인 후 복사

주목

  1. 여기 --prefix는 PHP의 --with-iconv 값과 일치합니다

  2. 설치 패키지 아래의 파일을 srclib/stdio.in.h _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 에서

  3. 으로 변경합니다.
<code class="c">#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif </code>
로그인 후 복사

컴파일 시 메모리가 부족합니다

<code class="shell">virtual memory exhausted: Cannot allocate memory
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1</code>
로그인 후 복사

해결책: 스왑 메모리 추가

<code class="shell">#1.进入目录
cd /var
#2.获取要增加的SWAP文件块(这里以1GB为例)
dd if=/dev/zero of=swapfile bs=1024 count=1038336
#3.创建SWAP文件
/sbin/mkswap swapfile
#4.激活SWAP文件
/sbin/swapon swapfile
#5.查看SWAP信息是否正确
/sbin/swapon -s
#6.添加到fstab文件中让系统引导时自动启动
echo "/var/swapfile swap swap defaults 0 0" >>/etc/fstab</code>
로그인 후 복사

작동예

<code>[root@iZ25uog2aivZ var]# dd if=/dev/zero of=swapfile bs=1024 count=1038336
1038336+0 records in
1038336+0 records out
1063256064 bytes (1.1 GB) copied, 19.287 s, 55.1 MB/s
[root@iZ25uog2aivZ var]# /sbin/mkswap swapfile
Setting up swapspace version 1, size = 1038332 KiB
no label, UUID=59e3b114-ed70-4d64-af01-2d02873fa358
[root@iZ25uog2aivZ var]# /sbin/swapon swapfile
swapon: /var/swapfile: insecure permissions 0644, 0600 suggested.
[root@iZ25uog2aivZ var]# /sbin/swapon -s
Filename                Type        Size    Used    Priority
/var/swapfile                              file    1038332    0    -1
[root@iZ25uog2aivZ var]# echo "/var/swapfile swap swap defaults 0 0" >>/etc/fstab
[root@iZ25uog2aivZ var]# free -m
             total       used       free     shared    buffers     cached
Mem:           992        923         69         81          1        309
-/+ buffers/cache:        611        381
Swap:         1013          0       1013
[root@iZ25uog2aivZ var]# 
</code>
로그인 후 복사

컴파일 및 설치

<code class="shell">$ make && make install</code>
로그인 후 복사

만드는 데 시간이 오래 걸리므로 인내심을 가지세요

php-fpm 구성

<code class="shell">$ cp php.ini-production /etc/php.ini
$ cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

$ cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
$ cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
$ chmod +x /etc/init.d/php-fpm</code>
로그인 후 복사

참고자료

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿