Table of Contents
Reply content:
Install dependency packages
Install php
configure
missing libiconv
Attention
Insufficient memory when compiling
Solution: Add swap memory
Operation example
Compile and install
Configure php-fpm
Home Backend Development PHP Tutorial linux - php7.0.13 installation is complete but the gd library does not have freetype

linux - php7.0.13 installation is complete but the gd library does not have freetype

Dec 01, 2016 am 12:26 AM
linux php

Linux novice, installed php 7.0.13 under red hat 7.0. After completion, there is no freetype in the gd extension in phoinfo.

Compile script

<code>./configure --with-apxs2=/usr/local/apache/bin/apxs  --prefix=/usr/local/php --with-gd --with-freetype-dir=/usr/include/freetype2/freetype
</code>
Copy after login
Copy after login

Freetype is installed using yum, and the location is /usr/include/freetype2/freetype. After the compilation is completed and php is installed, it seems that freetype is not installed. I tried it several times but it didn't work. I'm new to Linux and I don't know where the problem lies. Please help and take a look.

The picture below shows the gd library information in phpinfo. It can be seen that the gd library is installed.

linux - php7.0.13 installation is complete but the gd library does not have freetype

Reply content:

Linux novice, installed php 7.0.13 under red hat 7.0. After completion, there is no freetype in the gd extension in phoinfo.

Compile script

<code>./configure --with-apxs2=/usr/local/apache/bin/apxs  --prefix=/usr/local/php --with-gd --with-freetype-dir=/usr/include/freetype2/freetype
</code>
Copy after login
Copy after login

Freetype is installed using yum, and the location is /usr/include/freetype2/freetype. After the compilation is completed and php is installed, it seems that freetype is not installed. I tried several times but it didn't work. I'm new to Linux and I don't know where the problem lies. Please help and take a look.

The picture below shows the gd library information in phpinfo. It can be seen that the gd library is installed.

linux - php7.0.13 installation is complete but the gd library does not have freetype

I wrote an installation reminder [cetnos 7] before and pasted it directly.
freetype screenshot:
linux - php7.0.13 installation is complete but the gd library does not have freetype

Install dependency packages

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
Copy after login

Install php

configure

./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
Copy after login

missing libiconv

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
Copy after login

Attention

  1. The --prefix here is consistent with the --with-iconv value in php

  2. Change the file under the installation package: srclib/stdio.in.h _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); to

#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif 
Copy after login

Insufficient memory when compiling

virtual memory exhausted: Cannot allocate memory
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
Copy after login

Solution: Add swap memory

#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
Copy after login

Operation example

<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>
Copy after login

Compile and install

$ make && make install
Copy after login

It takes a long time to make, so be patient

Configure php-fpm

$ 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
Copy after login

Reference

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve the permissions problem encountered when viewing Python version in Linux terminal? How to solve the permissions problem encountered when viewing Python version in Linux terminal? Apr 01, 2025 pm 05:09 PM

Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

Why does an error occur when installing an extension using PECL in a Docker environment? How to solve it? Why does an error occur when installing an extension using PECL in a Docker environment? How to solve it? Apr 01, 2025 pm 03:06 PM

Causes and solutions for errors when using PECL to install extensions in Docker environment When using Docker environment, we often encounter some headaches...

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

How to efficiently integrate Node.js or Python services under LAMP architecture? How to efficiently integrate Node.js or Python services under LAMP architecture? Apr 01, 2025 pm 02:48 PM

Many website developers face the problem of integrating Node.js or Python services under the LAMP architecture: the existing LAMP (Linux Apache MySQL PHP) architecture website needs...

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

How to solve permission issues when using python --version command in Linux terminal? How to solve permission issues when using python --version command in Linux terminal? Apr 02, 2025 am 06:36 AM

Using python in Linux terminal...

Can the Python interpreter be deleted in Linux system? Can the Python interpreter be deleted in Linux system? Apr 02, 2025 am 07:00 AM

Regarding the problem of removing the Python interpreter that comes with Linux systems, many Linux distributions will preinstall the Python interpreter when installed, and it does not use the package manager...

See all articles