首页 » LANMP » php » 正文

ubuntu裸装php

php官网:php.net 下载php,我下载的是PHP 7.0.6。
发行版本:ubuntu 16.04 LTS

一 执行”预编译”

所谓”预编译“可以理解为,检查当前环境是否符合php编译的要求

代表我要装到/usr/local/php7里,配置文件放到/usr/local/php7/conf里

–with-config-file-path 代表指定php.ini的路径,否则需要后面自己去查找

查找php.ini位置的方法

1.新建php文件,写入如下代码

然后执行这句代码,搜索php.ini

2.执行

这里,你要么打全php路径,要么把php所在路径放到环境变量里。

3.执行

 

常见错误:
error:xml2-config not found.Please check your libxml2 installation

如果遇上这种错误,是因为缺少libxml2依赖

我们先使用sudo apt-get install libxml2-dev -y 来默认安装

二 安装

如果”预编译”没有报错,就可以执行:

这一步才是真正的编译

然后还要执行

这一步是拷贝到你的目标文件夹,否则/usr/local/php7里是不会有文件的

编译php7.1.6时的一个报错信息:

libbz2.a(bzlib.o): relocation R_X86_64_32S against `.text’ can not be used when making a shared object; recompile with -fPIC
libbz2.a: could not read symbols: Bad value

解决方案:
由于我把bzip2的版本升级到bzip2-1.0.6了,自行编译了下bzip2,所以报以上错误。
其实编译bzip2之前应该修改下Makefile文件:
修改bzip2-1.0.6的Makefile文件
CC=gcc —> CC=gcc -fPIC

然后重新编译

编译php7.2时报的几个错误

系统: ubuntu16 x64
一.

fatal error: ft2build.h: No such file or directory

解决办法:

二.

/usr/local/include/zip.h:59:21: fatal error: zipconf.h: No such file or directory
compilation terminated.
Makefile:2015: recipe for target ‘main/internal_functions.lo’ failed
make: *** [main/internal_functions.lo] Error 1

解决办法:
看来是找不到配置文件了,只能手动转移zipconf.h了

php7.2编译,比较全一点的参数

php7.2 去掉了 –enable-gd-native-ttf, –with-mcrypt

tips:idap 和 gd 最好以模块的方式加载。

PEAR package PHP_Archive not installed: generated phar will require PHP’s phar extension be enabled.

Linux下编译安装PHP7.2.2时,make后出现:

PEAR package PHP_Archive not installed: generated phar will require PHP’s phar extension be enabled.

解决办法:

先不理它,make install之后,运行以下命令

再次make,不再提示。

发表评论

正在加载验证码......

请先完成验证