libjpeg php,libjpeg62_turbo

本文讲述了作者在Ubuntu上重装系统后配置PHP7.2过程中遇到的问题,如源码安装时的依赖问题和使用软件源时的版本对应问题。通过解决编译libjpeg62-turbo的实例,强调了独立思考和举一反三的重要性。
摘要由CSDN通过智能技术生成

PHP

• 网站管理员 Published the article • 2 comments • 852 views • 2019-04-03 18:44

• 来自相关话题

### 背景

由于Ubuntu引导区坏了,无法找回boot中的文件,只能重新在虚拟机上重装系统,配置php的环境。

开始学php的时候我比较喜欢折腾源码,编译安装,期间走过很多的坑,这样会有一个问题,比如你需要添加一个扩展的时候你又需要编译一下扩展,有的时候编译源码的时候忘了编译某个模块就需要重新编译源码,比如thread模块,累了倦了,于是就开始用集成环境,或者用源安装。

### 问题

网上有很多的教程,千篇一律,无非都是这里这里复制那里粘贴的,遇到一些细节的问题,就懵逼了。

网上关于Ubuntu用软件源安装php7.2的教程是:

```bash

wget /etc/apt/trusted.gpg.d/php.gpg https://mirror.xtom.com.hk/sury/php/apt.gpg

sh -c 'echo "deb https://mirror.xtom.com.hk/sury/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

apt-get update

apt install php7.2-fpm php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-opcache -y

sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.2/fpm/php.ini

systemctl restart php7.2-fpm

```

### 解决方案

> 但是这里有些问题:

1. $(lsb_release -sc) 返回的是```zesty```,但是战源根本就没有这个目录,所以这里我们需要写死

. ```sh -c 'echo "deb https://mirror.xtom.com.hk/sury/php/ jessie main" > /etc/apt/sources.list.d/php.list'```

2. 安装php7.2-gd的时候出现如下问题:

```

The following packages have unmet dependencies:

php7.2-gd : Depends: libjpeg62-turbo (>= 1.3.1) but it is not installable

E: Unable to correct problems, you have held broken packages.

root@ubuntu:/mnt# apt-get install libjpeg62-tuls

Reading package lists... Done

Building dependency tree

Reading state information... Done

```

从```https://packages.debian.org/je ... nload```上下载libjpeg62-turbo的deb

```bash

cd /mnt

wget http://security.debian.org/deb ... 6.deb

dpkg -i libjpeg62-turbo_1.3.1-12+deb8u2_i386.deb

apt-get install php7.2-gd

```

### 思考

> 出现问题的时候我们很依赖搜索引擎来帮我们处理问题,有的时候我们很难集中注意力去审查问题,搜索引擎搜索一通之后,发现网上的教程或者解决方案千篇一律,甚至无法解决你的问题。浪费时间和精力。

> 这个时候我们需要静下心来想这个问题,是否以前遇到相同的问题,是否能够举一反三。 查看全部

### 背景

由于Ubuntu引导区坏了,无法找回boot中的文件,只能重新在虚拟机上重装系统,配置php的环境。

开始学php的时候我比较喜欢折腾源码,编译安装,期间走过很多的坑,这样会有一个问题,比如你需要添加一个扩展的时候你又需要编译一下扩展,有的时候编译源码的时候忘了编译某个模块就需要重新编译源码,比如thread模块,累了倦了,于是就开始用集成环境,或者用源安装。

### 问题

网上有很多的教程,千篇一律,无非都是这里这里复制那里粘贴的,遇到一些细节的问题,就懵逼了。

网上关于Ubuntu用软件源安装php7.2的教程是:

```bash

wget /etc/apt/trusted.gpg.d/php.gpg https://mirror.xtom.com.hk/sury/php/apt.gpg

sh -c 'echo "deb https://mirror.xtom.com.hk/sury/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

apt-get update

apt install php7.2-fpm php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-opcache -y

sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.2/fpm/php.ini

systemctl restart php7.2-fpm

```

### 解决方案

> 但是这里有些问题:

1. $(lsb_release -sc) 返回的是```zesty```,但是战源根本就没有这个目录,所以这里我们需要写死

. ```sh -c 'echo "deb https://mirror.xtom.com.hk/sury/php/ jessie main" > /etc/apt/sources.list.d/php.list'```

2. 安装php7.2-gd的时候出现如下问题:

```

The following packages have unmet dependencies:

php7.2-gd : Depends: libjpeg62-turbo (>= 1.3.1) but it is not installable

E: Unable to correct problems, you have held broken packages.

root@ubuntu:/mnt# apt-get install libjpeg62-tuls

Reading package lists... Done

Building dependency tree

Reading state information... Done

```

从```https://packages.debian.org/je ... nload```上下载libjpeg62-turbo的deb

```bash

cd /mnt

wget http://security.debian.org/deb ... 6.deb

dpkg -i libjpeg62-turbo_1.3.1-12+deb8u2_i386.deb

apt-get install php7.2-gd

```

### 思考

> 出现问题的时候我们很依赖搜索引擎来帮我们处理问题,有的时候我们很难集中注意力去审查问题,搜索引擎搜索一通之后,发现网上的教程或者解决方案千篇一律,甚至无法解决你的问题。浪费时间和精力。

> 这个时候我们需要静下心来想这个问题,是否以前遇到相同的问题,是否能够举一反三。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值