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

PHP7源码安装swoole全流程

PHP7源码安装步骤解压tar-xjvfconfiguremakemakeinstall安装上传下载命令yuminstall-ylrzszlinux操作[root@VM_0_5_c






PHP7源码安装


步骤


  1. 解压tar -xjvf


  2. configure


  3. make


  4. make install


安装上传下载命令

yum install -y lrzsz

linux操作

[root@VM_0_5_centos ~]# cd /home/
[root@VM_0_5_centos home]# mkdir -p work/study/softpackage
[root@VM_0_5_centos softpackage]# pwd
/home/work/study/softpackage
[root@VM_0_5_centos softpackage]# ll
total 14900
-rw-r--r-- 1 root root 15235268 Apr 2 21:19 php-7.2.29.tar.bz2
[root@VM_0_5_centos softpackage]# tar -xjvf php-7.2.29.tar.bz2
drwxrwxr-x 14 root root 4096 Mar 17 18:16 php-7.2.29
-rw-r--r-- 1 root root 15235268 Apr 2 21:19 php-7.2.29.tar.bz2
[root@VM_0_5_centos softpackage]# cd php-7.2.29/
[root@VM_0_5_centos php-7.2.29]# yum install gcc

----
configure: error: libxml2 not found. Please check your libxml2 installation.
----
//start安装豪华套餐
yum -y install gcc libxml2 yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel
//end

[root@VM_0_5_centos php-7.2.29]# ./configure --prefix=/home/work/study/soft/php
[root@VM_0_5_centos php-7.2.29]# make
[root@VM_0_5_centos php-7.2.29]# make install

[root@VM_0_5_centos php-7.2.29]# cd /home/work/study/
[root@VM_0_5_centos study]# ll
total 8
drwxr-xr-x 3 root root 4096 Apr 2 22:04 soft
drwxr-xr-x 3 root root 4096 Apr 2 21:44 softpackage
[root@VM_0_5_centos study]# cd soft/php/
[root@VM_0_5_centos php]#
[root@VM_0_5_centos php]# ./bin/php -m

//测试
[root@VM_0_5_centos php]# vim test.php
[root@VM_0_5_centos php]# ./bin/php test.php
1585836467[root@VM_0_5_centos php]#

//编辑
[root@VM_0_5_centos php]# vi ~/.bash_profile

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
alias php=/home/work/study/soft/php/bin/php

//让配置生效
[root@VM_0_5_centos php]# source ~/.bash_profile
[root@VM_0_5_centos php]# php -v
PHP 7.2.29 (cli) (built: Apr 2 2020 22:03:18) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

//测试
[root@VM_0_5_centos study]# mkdir demo
[root@VM_0_5_centos study]# cd demo/
[root@VM_0_5_centos demo]# vim t.php
[root@VM_0_5_centos demo]# php t.php
1585836787[root@VM_0_5_centos demo]# pwd
/home/work/study/demo

转移php.ini

[root@VM_0_5_centos study]# cd softpackage/php-7.2.29/
[root@VM_0_5_centos php-7.2.29]# pwd
/home/work/study/softpackage/php-7.2.29
[root@VM_0_5_centos php-7.2.29]# cp php.ini-development /home/work/study/soft/php/etc/

[root@VM_0_5_centos ~]# cd /home/work/study/soft/php/etc/
[root@VM_0_5_centos etc]# ll
total 80
-rw-r--r-- 1 root root 1354 Apr 2 22:05 pear.conf
-rw-r--r-- 1 root root 71232 Apr 2 22:17 php.ini-development

[root@VM_0_5_centos etc]# mv php.ini-development php.ini

[root@VM_0_5_centos php-7.2.29]# php -i | grep php.ini
Configuration File (php.ini) Path => /home/work/study/soft/php/lib

[root@VM_0_5_centos php-7.2.29]# cd /home/work/study/soft/php/
[root@VM_0_5_centos php]# mv ./etc/php.ini ./lib/

上传swoole文件包

[root@VM_0_5_centos softpackage]# rz

[root@VM_0_5_centos softpackage]# ll
total 17076
drwxrwxr-x 17 root root 4096 Apr 2 21:55 php-7.2.29
-rw-r--r-- 1 root root 15235268 Apr 2 21:19 php-7.2.29.tar.bz2
-rw-r--r-- 1 root root 2217161 Apr 2 22:27 swoole-swoole-master.zip

[root@VM_0_5_centos softpackage]# unzip swoole-swoole-master.zip
[root@VM_0_5_centos softpackage]# ll
total 17080
drwxrwxr-x 17 root root 4096 Apr 2 21:55 php-7.2.29
-rw-r--r-- 1 root root 15235268 Apr 2 21:19 php-7.2.29.tar.bz2
drwxr-xr-x 9 root root 4096 Jan 9 20:06 swoole
-rw-r--r-- 1 root root 2217161 Apr 2 22:27 swoole-swoole-master.zip

//生成configure文件
[root@VM_0_5_centos swoole]# /home/work/study/soft/php/bin/phpize
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718

[root@VM_0_5_centos swoole]# ./configure --with-php-config=/home/work/study/soft/php/bin/php-config

checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/home/work/study/softpackage/swoole':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `
config.log' for more details

//说明
error: C++ preprocessor "/lib/cpp" fails sanity check 问题的解决
问题的根源是缺少必要的C++库。如果是CentOS系统,运行,如下命令解决:
yum install glibc-headers
yum install gcc-c++

再执行

[root@VM_0_5_centos swoole]# ./configure --with-php-config=/home/work/study/soft/php/bin/php-config
[root@VM_0_5_centos swoole]# make
[root@VM_0_5_centos swoole]# make install
[root@VM_0_5_centos swoole]# cd /home/work/study/soft/php/lib/php/extensions/no-debug-non-zts-20170718/
[root@VM_0_5_centos no-debug-non-zts-20170718]# ll
total 17664
-rwxr-xr-x 1 root root 3589814 Apr 2 22:04 opcache.a
-rwxr-xr-x 1 root root 1979620 Apr 2 22:04 opcache.so
-rwxr-xr-x 1 root root 12488337 Apr 2 22:41 swoole.so
[root@VM_0_5_centos lib]# ll
total 80
drwxr-xr-x 15 root root 4096 Apr 2 22:05 php
-rw-r--r-- 1 root root 71232 Apr 2 22:17 php.ini
[root@VM_0_5_centos lib]# vi php.ini
[root@VM_0_5_centos lib]# pwd
/home/work/study/soft/php/lib

在php.ini文件中添加:extension=swoole.so
查看是否添加成功:php -m
[root@VM_0_5_centos server]# php echo.php
^C
[root@VM_0_5_centos server]# pwd
/home/work/study/softpackage/swoole/examples/server
//新开窗口
[root@VM_0_5_centos server]# netstat -anp|grep 9501
tcp 0 0 0.0.0.0:9501 0.0.0.0:* LISTEN 23406/php
[root@VM_0_5_centos server]# netstat -anp|grep 9501
[root@VM_0_5_centos server]# pwd
/home/work/study/softpackage/swoole/examples/server



推荐阅读
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 2023年PHP实现1GB视频上传的最佳实践
    本文将详细介绍如何使用PHP处理1GB大小的视频上传问题,包括文件类型验证、上传大小限制设置及优化上传过程,确保高效稳定地完成大文件上传。 ... [详细]
  • 本文详细介绍了在Ubuntu 7.10操作系统上安装多种常用软件的方法,包括RAR压缩工具、即时通讯软件Pidgin、办公软件永中Office 2007试用版、多线程下载软件MultiGet及d4x、FTP客户端gFTP与FireFTP插件,以及P2P下载工具aMule。每部分都提供了具体的安装步骤和配置方法。 ... [详细]
  • 在编写 PHP 类时,经常会遇到因类未正确实例化而导致的 'function non-object' 错误。本文将详细探讨 PHP 构造函数中的双下划线使用方法及其常见问题。 ... [详细]
  • 本文详细介绍了Linux操作系统中的cp和scp命令,包括它们的基本使用方法、常见选项以及如何通过scp命令安全地在不同主机之间传输文件。 ... [详细]
  • Android中解析XML文件的实践指南
    本文详细介绍了在Android应用开发中解析XML文件的方法,包括从本地文件和网络资源获取XML文件的不同途径,以及使用DOM、SAX和PULL三种解析方式的具体实现。 ... [详细]
  • ServletContext接口在Java Web开发中扮演着重要角色,它提供了一种方式来获取关于整个Web应用程序的信息。通过ServletContext,开发者可以访问初始化参数、共享数据以及应用资源。 ... [详细]
  • 本文探讨了在Git子模块目录中运行pre-commit时遇到的错误,并提供了一种通过Docker环境解决此问题的方法。 ... [详细]
  • 我在项目中发现设置了 GCC_NO_COMMON_BLOCKS = NO 的配置项,位于 Apple LLVM 编译器 3.1 的代码生成设置中。 ... [详细]
  • 本文将详细介绍在使用Python 3.4版本时遇到导入SQLite3模块失败的问题,并提供有效的解决方案,帮助开发者快速解决问题。 ... [详细]
  • 深入理解IIS:全面解析与应用
    本文详细介绍了IIS(Internet Information Services)的功能及其在不同Windows系统中的应用,探讨了IIS如何支持多种网络服务,如Web、FTP、NNTP和SMTP,并解释了其在现代网站开发和服务器管理中的重要性。 ... [详细]
  • 本文深入探讨了网络编程中的基本概念,如指针、引用和可重入函数,并详细介绍了OSI七层模型和TCP/IP四层模型的功能与协议。同时,文章还对比了HTTP与HTTPS的区别,分析了HTTP请求报文的结构,讨论了TCP与UDP的主要差异,以及滑动窗口协议的工作原理。 ... [详细]
  • 在CentOS上构建Ntopng实时网络流量监控平台
    本文详细介绍了如何在CentOS操作系统上安装和配置Ntopng,一个强大的网络流量监控工具。Ntopng能够提供实时的网络流量分析,并通过Web界面展示详细的流量报告。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • JMeter使用指南与性能测试实践
    本文详细介绍了JMeter的功能特点及应用场景,包括其作为开源、免费且基于Java开发的压力测试工具的优势。文章还涵盖了JMeter的安装配置过程以及如何进行简单的性能测试,旨在帮助初学者快速掌握JMeter的使用。 ... [详细]
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社区 版权所有