编译安装php5 解决编译安装的php加载不了gd
1、 编译安装php需要的模块:
yum install libxml2-devel libxml2 curl curl-devel libpng-devel libpng openssl openssl-devel -y
yum install php-mcrypt libmcrypt libmcrypt-devel freetype* libjpeg-devel
2、编译
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring=all --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-ctype --enable-shared --with-gd --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/include/freetype2/freety --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mcrypt
3、安装make && make install
4、配置文件cp php.ini-production /usr/local/php/etc/php.ini
cd /usr/local/php/etc && cp php-fpm.conf.default php-fpm.conf
5、配置php-fpm启动脚本
[root@iZbp1f922lx535jt6fpxm5Z sbin]# vim /lib/systemd/system/php-fpm.service
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=simple
PIDFile=/run/php-fpm/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config=/usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -SIGINT $PIDFILE
[Install]
WantedBy=multi-user.target

配置环境变量 /etc/profile最后加上如下这句
export PATH=$PATH:/usr/local/php/bin
至此已编译ok
下面是利用phpize安装php扩展gd模块
1、进入gd目录执行phpize命令后,当前目录会生成一个新的configure文件,如果没有可能是没有autoconf,yum -y install autoconf安装一下

然后执行./configure --with-php-config=/usr/local/php/bin/php-config
然后make && make install
执行结束后,会出现下面画面,表示安装成功

2、配置php.ini
去掉extension=php_gd2.dll 前面的分号取消注释
修改php.ini中 extension_dir = “ext” 为绝对路径 extension_dir = “”/usr/local/src/php-5.5.38/ext/“”
在php.ini最后加上下面这句
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20121212/gd.so
3、重启nginx php-fpm
systemctl restart php-fpm
systemctl restart nginx
4、验证安装是否成功

其他gd库
JPEG https://blog.csdn.net/zzzxxbird/article/details/53609783
freetype
先yum install freetype*
再找到freetype位置,find / -name freetype
最后重新编译php
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring=all --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-ctype --enable-shared --with-gd --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/include/freetype2/freety --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mcrypt
zlib https://blog.csdn.net/azh89125/article/details/78464784
redis https://www.cnblogs.com/doseoer/p/6161110.html
解决yum 安装没有libphp5.so
1、安装
yum install httpd
yum install httpd-devel
2、找到apsx 所在路径

3、加上apsx后重新编译php
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring=all --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-ctype --enable-shared --with-gd --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/include/freetype2/freety --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mcrypt --with-apxs2=/usr/bin/apxs
make && make install
4. 修改apache配置文件,Centos7.4 下的apache2.4的配置文件路径为
vim /etc/httpd/conf/httpd.conf
//在LoadModule后面添加:LoadModule php5_module modules/libphp5.so //不添加则访问.php文件将会变成下载
//在DirectoryIndex后面添加:index.php
//在AddType application/x-gzip .gz .tgz后面添加:AddType application/x-httpd-php .php //.php前面有一个空格
5、重启httpd
编译安装php5 解决编译安装的php加载不了gd的更多相关文章
- Laravel4快速安装方法,解决Laravel4安装速度慢
Laravel4原始安装方法 Laravel4 是构建在 Composer 之上的, 之前的安装方法是如下: composer create-project laravel/laravel you ...
- 解决win7 下 curl无法加载的问题
最近分别在WIN7和Windows8 上分别安装php 高版本!都遇到了这个问题! 一.win7系统64位, apache2.2, php 5.35 vc6 版本 这个比较容易: 1. phpinfo ...
- 解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题
下面两种现象,用同一种方法解决 1.解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题 2.突然有一天首页访问图片很慢,至少隔20多秒所有图片才会出来.(解析:app使 ...
- 解决hibernate中的懒加载(延迟加载)问题
解决hibernate中的懒加载(延迟加载)问题 我们在开发的时候经常会遇到延迟加载问题,在实体映射时,多对一和多对多中,多的一样的属性默认是lazy="true"(即,默认是 ...
- 解决ArcGIS API for Silverlight 加载地图的内外网访问问题
原文:解决ArcGIS API for Silverlight 加载地图的内外网访问问题 先上一个类,如下: public class BaseClass { public static string ...
- 解决tableView中cell动态加载控件的重用问题
解决tableView中cell动态加载控件的重用问题 tableView的cell,有时候需要在运行时取得对应的数据后才能够动态的创建该cell中的控件并加载到该cell中,此时,你一定会遇到重用问 ...
- Kali之——解决物理机U盘安装Kali Linux2018.1,光驱无法加载问题
Kali系统和烧录软件 链接:https://pan.baidu.com/s/1v78d62hdF95NM2minct9sw 提取码:b08k 1.无效的方法: (1)执行 df -m,然后查看U盘设 ...
- homebrew安装和解决brew安装速度慢的问题
homebrew安装 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/inst ...
- 解决物理机U盘安装Kali Linux2018.1,光驱无法加载问题
1.无效的方法: (1)执行 df -m,然后查看U盘设备是否挂载到了/media,导致cd-rom不能被挂载,执行 umount /media. (2)在光驱加载安装界面,把U盘拔下换到电脑的另外 ...
随机推荐
- go语言笔记——切片函数常见操作,增删改查和搜索、排序
7.6.6 搜索及排序切片和数组 标准库提供了 sort 包来实现常见的搜索和排序操作.您可以使用 sort 包中的函数 func Ints(a []int) 来实现对 int 类型的切片排序.例如 ...
- HDFS操作及小文件合并
小文件合并是针对文件上传到HDFS之前 这些文件夹里面都是小文件 参考代码 package com.gong.hadoop2; import java.io.IOException; import j ...
- Java - 14 Java 日期时间
java.util包提供了Date类来封装当前的日期和时间. Date类提供两个构造函数来实例化Date对象. 第一个构造函数使用当前日期和时间来初始化对象. Date( ) 第二个构造函数接收一个参 ...
- virt-install详解
man virt-install VIRT-INSTALL() Virtual Machine Manager VIRT-INSTALL() NAME virt-install - provision ...
- C#中常用的单词
visual 可见的 studio 工作室 dot 点 net 网 sharp 尖端的,锋利的. framework 骨架,构架,框架 beta 测试版,试用版 XML(全称:eXtensible M ...
- SQL Server 2016:内存列存储索引
作者 Jonathan Allen,译者 谢丽 SQL Server 2016的一项新特性是可以在“内存优化表(Memory Optimized Table)”上添加“列存储索引(Columnstor ...
- Web Service进阶
选框架犹如选媳妇,选来选去,最后我还是选了“丑媳妇(CXF)”,为什么是它?因为 CXF 是 Apache 旗下的一款非常优秀的 WS 开源框架,具备轻量级的特性,而且能无缝整合到 Spring 中. ...
- sqlserver表数据的修改
清除表数据 truncate table [表名称] 将表b中的一列数据,更新到表tableA 如: tableA .key tableA .value 123 124 tableB.k ...
- spring boot使用配置文件内容
配置文件如下所示: server: port: 8081 context-path: /demo tag: 12 user: name1: mist-dev password: 123 然后可以通过以 ...
- angularjs探秘<三> 控制器controller及angular项目结构
先来看一个例子 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&quo ...