热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ubuntuPHP7.1.4编译安装

1.下载#wgethttp:php.netgetphp-7.1.4.tar.gzfromamirror或者#wgethttp:am1.php.netdistributionsphp
1.下载

# wget http://php.net/get/php-7.1.4.tar.gz/from/a/mirror
或者# wget http://am1.php.net/distributions/php-7.1.4.tar.gz
前者得到一个mirror文件,后者得到php-7.1.4.tar.gz,均可以通过tar解压

2.解压

# tar zxvf php-7.1.4.tar.gz 或 tar zxvf mirror
# cd php-7.1.4

3.查看安装帮助,执行配置脚本来进行编译预处理

# ./configure --help
# ./configure --prefix=/usr/local/php \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip

4.编译预处理可能会出现一些error,一般是缺少依赖包的原因,根据提示安装即可

# apt-get install libxml2 libxml2-dev
# apt-get install openssl
//configure: error: Please reinstall the libcurl distribution -
easy.h should be in /include/curl/
#apt-get install libssl-dev
#apt-get install libgtk2.0-dev
//configure: error: Please reinstall the libcurl distribution -
easy.h should be in /include/curl/
// RetHat CentOS or Fedora 使用下面安装命令
# yum install curl curl-devel
// Debian or Ubuntu使用下面的安装命令
# apt-get install curl
# apt-get install libcurl4-gnutls-dev
//configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
# apt-get install libxslt-dev

5.预处理通过之后就可以make编译了

# make && make install

6.配置php

编译安装成功后,一般可以在usr/local找到安装的php
//php.ini
# cp php.ini-development /usr/local/php/lib/php.ini
//php-fpm
# 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 -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm 或cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
需要注意的是php7中www.conf这个配置文件配置phpfpm的端口号等信息,如果你修改默认的9000端口号需在这里改,再改nginx的配置

7.启动

//查看php版本
# /usr/local/php/bin/php -v
# /etc/init.d/php-fpm start
或 # service php-fpm start
//php-fpm 可用参数 start|stop|force-quit|restart|reload|status
//若权限不足需要需要加上执行权限
chmod +x /etc/init.d/php-fpm
//Starting php-fpm [06-May-2017 14:10:49] ERROR: [pool www] cannot get gid for group 'nobody'
[06-May-2017 14:10:49] ERROR: FPM initialization failed
failed
//确定php-fpm配置文件的路径,执行
#ps -aux | grep php-fpm
在安装目录的etc下有个php-fpm.d目录(如/usr/local/php/etc/php-fpm.d),打开这个目录后,找到www.conf文件,修改该文件里:
user = 启动fpm的用户名
group = 启动fpm的用户所在用户组
//不推荐用root用户启动,应当新建用户
#adduser phpq //新建phpq用户
#passwd phpq //给phpq用户设置密码
#groupadd test //新建test工作组

//The program 'php' can be found in the following packages:
* php7.0-cli
* hhvm
sudo apt install php
sudo apt install hhvm

推荐阅读
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • phpgettext.dll的简单介绍
    本文目录一览:1、在php.ini中设置了extension=php_gettext.dl ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • phpstudy云服务器安装,如何安装phpstudy
    本文目录一览:1、phpstudy安装在哪本地电脑还是服务器? ... [详细]
  • 删除iPad或iPhone目录privatevarkeychainskeychain-2.db文件,重启iPad或iPhone。1.如何卸载机内自带软件? ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有