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

ubuntu16.04编译安装PHP7.0.9,Nginx1.10,Phalcon3.1扩展

PHP7.0编译安装1.下载PHP7.0.9wgethttp:cn2.php.netgetphp-7.0.9.tar.bz2fromthismirror--下载php镜像tar

 

====================   PHP 7.0 编译安装  ==================

1. 下载PHP7.0.9

  wget http://cn2.php.net/get/php-7.0.9.tar.bz2/from/this/mirror -- 下载php镜像

  tar xvf mirror  -- 解压镜像

  cd php-7.0.9/    -- 进入安装目录

  sudo apt-get update -- 更新阿里云库

2. 安装PHP7.0.9

  检查配置文件:  ./configure --prefix=/opt/php-7.0.9  --with-config-file-path=/opt/php-7.0.9/etc  --with-zlib-dir --with-freetype-dir  --enable-mbstring  --with-libxml-dir=/usr  --enable-soap  --enable-calendar  --with-curl  --with-mcrypt  --with-zlib  --with-gd  --disable-rpath  --enable-inline-optimization  --with-bz2  --with-zlib  --enable-sockets  --enable-sysvsem  --enable-sysvshm  --enable-pcntl  --enable-mbregex  --enable-exif  --enable-bcmath  --with-mhash  --enable-zip  --with-pcre-regex  --with-pdo-mysql  --with-mysqli  --with-mysql-sock=/var/run/mysqld/mysqld.sock  --with-jpeg-dir=/usr  --with-png-dir=/usr  --enable-gd-native-ttf  --with-openssl  --with-fpm-user=www-data  --with-fpm-group=www-data  --enable-ftp  --with-imap  --with-imap-ssl  --with-kerberos  --with-gettext  --with-xmlrpc  --with-xsl --enable-opcache  --enable-fpm  --without-pear   --disable-phar

  检查配置文件成功后出现的界面:成功通过

  

 

  sudo apt-get install libkrb5-dev  libc-client2007e  libc-client2007e-dev  libcurl4-openssl-dev  libbz2-dev  libjpeg-dev  libmcrypt-dev  libxslt1-dev  libxslt1.1  libpq-dev  libpng12-dev  libfreetype6-dev  build-essential  git

  php 的编译时,出现的PEAR package PHP_Archive not installed问题:编译使用参数 --without-pear   pear 屏蔽掉编译安装后,再进行安装;同时因为phar 属于pear的一个库 ,所以不将phar关闭掉,同时还会报这个错误,

同时需要使用 --disable-phar   编译参数,./configure --without-pear  --disable-phar

  这三项必须打开:

    listen.owner = www-data

    listen.group = www-data

    listen.mode = 0660

  make  -- 编译 或者根据你当前正在编译机器cpu核数调参数加速编译,比如2核 make -j2 就可以同时跑2个job加速编译

  make install  --安装

 

  /opt/php-7.0.9/bin/php -i -- 基本配置信息 

    PHP Version =》 7.0.9

  /opt/php-7.0.9/bin/php -v   -- 注意这里是查看的php-cli 的版本

    PHP 7.0.9 (cli)(built: Mar 13 2017 21:42:35)

  运行php-fpm服务前:要配置php的配置文件

    sudo mv /opt/php-7.0.9/etc/php-fpm.conf.default /opt/php-7.0.9/etc/php-fpm.conf 

    sudo mv /opt/php-7.0.9/etc/php-fpm.d/www.conf.default /opt/php-7.0.9/etc/php-fpm.d/www.conf 

    sudo cp ./php.ini-production /opt/php-7.0.9/etc/php.ini

  修改fpm的监听端口:

    sudo vi /opt/php-7.0.9/etc/php-fpm.d/www.conf 

    ;listen = 127.0.0.1:9000   -- 默认是打开的,在前面加; 注释掉

    listen = /var/run/php7.0.9-fpm.sock -- 添加这一行

  启动fpm服务:

   sudo /opt/php-7.0.9/sbin/php-fpm -- 启动 php-fpm 服务

  

  

  如果提示错误信息:

  2017/03/23 20:07:53 [crit] 18683#0: *1 connect() to unix:/var/run/php7.0.9-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1,
server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php7.0.9-fpm.sock:", host: "127.0.0.1"

 

  

  解决办法:修改www.conf文件

  listen.owner = www-data

  listen.group = www-data

  ;listen.mode = 0660

  修改为:(去掉listen.mode前面的“;”)

  listen.owner = www-data

  listen.group = www-data

  listen.mode = 0660

  继续重启fpm服务,查看fpm服务是否启动,可用命令:ps  -aux | grep 'php-fpm',若fpm启动成功,则显示有一个主进程fpm和若干个fpm子进程;

  浏览器查看:

  

 

  最后安装pear:

    wget  http://pear.php.net/go-pear.phar

    /usr/local/bin/php go-pear.phar;

 

 ====================   Nginx1.10 编译安装  ==================

1. 下载并解压缩Nginx

  wget http://nginx.org/download/nginx-1.10.3.tar.gz

  tar -zxvf nginx-1.10.3.tar.gz

2. 安装Nginx

  2.1 检查nginx的配置

    ./configure --prefix=/usr/local/nginx  --with-debug  --with-http_realip_module  --with-http_stub_status_module  --with-http_ssl_module  --with-http_sub_module  --user=www-data  --group=www-data

    错误提示:

      ./configure: error: the HTTP rewrite module requires the PCRE library.You can either disable the module by using --without-http_rewrite_moduleoption, or install the PCRE library into the system, or build the PCRE library

    解决办法:

      apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make build-essential curl

  2.2 重载nginx

    sudo /usr/local/nginx/sbin/nginx -s reload

    报错信息:

      nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)  

    解决办法:

      /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf:使用nginx -c的参数指定nginx.conf文件的位置

 

====================   安装Phalcon扩展   ==================

通过zephir安装Phalcon扩展

1. 下载安装zephir

  git clone https://github.com/phalcon/zephir

  php编译安装扩展需要使用到phpize命令:该命令在php编译安装时就安装了,建立一个软连接即可使用:sudo ln -s /opt/php-7.0.9/bin/phpize /usr/bin/phpize

  1.1 安装zephir:

    sudo apt-get update

    sudo apt-get install git gcc make re2c php5 php5-json php5-dev libpcre3-dev

    参考链接:https://blog.csdn.net/u011142688/article/details/51619811

  1.2 安装phalcon扩展:

    安装好zephir之后,git clone --depth=1 "git://github.com/phalcon/cphalcon.git"

    进入cphalcon/build/php7/64bit目录,执行

    sudo phpize,(此时可能会出现:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.的问题)

    ./configure  -with-php-config=Path(php配置文件的位置)

    Sudo make

    Sudo make install

    然后 找到phalcon.so的路径: sudo find / -name phalcon.so

    然后sudo vim /opt/php-7.0.9/etc/php.iniphalcon.so扩展安装到php中,修改配置文件:

      Extension=/opt/php-7.0.9/lib/php/extensions/no-debug-non-zts-20151012/phalcon.so

  1.3 重启php-fpm

    先kill掉原来的进程,重启即可

    phpinfo();文件输出

 

  则phalcon扩展安装成功

 

  安装参考:https://www.cnblogs.com/tinywan/p/6607395.html

转:https://www.cnblogs.com/yu-yuan/p/9582882.html



推荐阅读
  • 在尝试为 Unity 编译一个简单的 Java 库时,运行 `ant jar` 命令后遇到了 Java I/O 异常。具体错误信息为“无法启动程序 ${aAPT},错误代码 2”,这通常表示指定的文件或目录不存在。此问题可能是由于环境配置不正确或路径设置有误导致的。建议检查相关路径和环境变量,确保所有依赖项都已正确安装和配置。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 本文详细解析了Java类加载系统的父子委托机制。在Java程序中,.java源代码文件编译后会生成对应的.class字节码文件,这些字节码文件需要通过类加载器(ClassLoader)进行加载。ClassLoader采用双亲委派模型,确保类的加载过程既高效又安全,避免了类的重复加载和潜在的安全风险。该机制在Java虚拟机中扮演着至关重要的角色,确保了类加载的一致性和可靠性。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • 在多模块项目中,项目A作为一个独立的工具包,不依赖于任何第三方库。其目录结构如下:`--src--main--java--resources`。当将项目A打包成JAR文件后,发现无法正确访问`resources`目录下的文件资源。这一问题可能源于JAR文件的构建配置或类路径设置不当,需要仔细检查Maven或Gradle的构建脚本,确保资源文件被正确包含并加载。 ... [详细]
  • 如何在Java中高效构建WebService
    本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的Java SOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • 本文探讨了如何在 Java 中将多参数方法通过 Lambda 表达式传递给一个接受 List 的 Function。具体分析了 `OrderUtil` 类中的 `runInBatches` 方法及其使用场景。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • DevExpress v17.2新版本亮点深入解析:CodeRush功能详解(下篇)
    DevExpress v17.2 最新版本现已正式发布,我们将在系列文章中详细介绍其各项新特性。本文聚焦于 CodeRush v17.2 的最新功能,包括对 XAML 标准的全面支持。欢迎下载并体验这一强大工具的全新功能。 ... [详细]
author-avatar
小东东5201314
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有