Linux – Die Installation von php7.0.13 ist abgeschlossen, aber die GD-Bibliothek verfügt nicht über Freetype

WBOY
Freigeben: 2023-03-01 20:00:02
Original
2664 Leute haben es durchsucht

Linux-Neuling hat PHP 7.0.13 unter Red Hat 7.0 installiert. Nach der Fertigstellung gibt es in der GD-Erweiterung in Phoinfo keinen Freetype.

Skript kompilieren

<code>./configure --with-apxs2=/usr/local/apache/bin/apxs  --prefix=/usr/local/php --with-gd --with-freetype-dir=/usr/include/freetype2/freetype
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Freetype wird mit yum installiert und der Speicherort ist /usr/include/freetype2/freetype. Nach Abschluss der Kompilierung und der Installation von PHP scheint Freetype nicht installiert zu sein. Ich habe es mehrmals versucht, aber es hat nicht funktioniert. Ich bin Linux-Neuling und weiß nicht, wo das Problem liegt. Bitte helfen Sie und schauen Sie vorbei.

Das Bild unten zeigt die GD-Bibliotheksinformationen in phpinfo. Es ist ersichtlich, dass die GD-Bibliothek installiert ist.

Linux – Die Installation von php7.0.13 ist abgeschlossen, aber die GD-Bibliothek verfügt nicht über Freetype

Antwortinhalt:

Linux-Neuling hat PHP 7.0.13 unter Red Hat 7.0 installiert. Nach der Fertigstellung gibt es in der GD-Erweiterung in Phoinfo keinen Freetype.

Skript kompilieren

<code>./configure --with-apxs2=/usr/local/apache/bin/apxs  --prefix=/usr/local/php --with-gd --with-freetype-dir=/usr/include/freetype2/freetype
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Freetype wird mit yum installiert und der Speicherort ist /usr/include/freetype2/freetype. Nach Abschluss der Kompilierung und der Installation von PHP scheint Freetype nicht installiert zu sein. Ich habe es mehrmals versucht, aber es hat nicht funktioniert. Ich bin Linux-Neuling und weiß nicht, wo das Problem liegt. Bitte helfen Sie und schauen Sie vorbei.

Das Bild unten zeigt die GD-Bibliotheksinformationen in phpinfo. Es ist ersichtlich, dass die GD-Bibliothek installiert ist.

Linux – Die Installation von php7.0.13 ist abgeschlossen, aber die GD-Bibliothek verfügt nicht über Freetype

Ich habe zuvor eine Installationserinnerung [cetnos 7] geschrieben und sie direkt eingefügt
Freetype-Screenshot:
Linux – Die Installation von php7.0.13 ist abgeschlossen, aber die GD-Bibliothek verfügt nicht über Freetype

Abhängige Pakete installieren

<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>
Nach dem Login kopieren

PHP installieren

konfigurieren

<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>
Nach dem Login kopieren

libiconv fehlt

<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>
Nach dem Login kopieren

Achtung

  1. Der --prefix hier stimmt mit dem --with-iconv-Wert in PHP überein

  2. Ändern Sie die Datei unter dem Installationspaket: srclib/stdio.in.h in _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); in

<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>
Nach dem Login kopieren

Unzureichender Speicher beim Kompilieren

<code class="shell">virtual memory exhausted: Cannot allocate memory
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1</code>
Nach dem Login kopieren

Lösung: Swap-Speicher hinzufügen

<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>
Nach dem Login kopieren

Bedienungsbeispiel

<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>
Nach dem Login kopieren

Kompilieren und installieren

<code class="shell">$ make && make install</code>
Nach dem Login kopieren

Die Herstellung dauert lange, seien Sie also geduldig

php-fpm konfigurieren

<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>
Nach dem Login kopieren

Referenz

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage