第一节 swoole扩展的编译安装部署

介绍swoole扩展,从源码的下载,环境依赖,编译参数配置,常见编译问题,安装,配置等内容。期间还会介绍:

  • Linux发行版本的选择
  • 不同版本内核的差异
  • gcc/g++/clang 3种编译器介绍
  • autoconf、cmake的介绍
  • ldconfig介绍
  • nm/strip介绍
  • 生成libswoole.so动态链接库

视频结束后,每个听众可以发起不超过3个问题,由rango本人提供专业详细的讲解回答。

百度网盘下载:http://pan.baidu.com/s/1dDDyDFj


  • test{echo}

    编译时 centos和Ubuntu 会有很多不同吗?

  • hansen

    请问能在 Raspberry Pi (树莓派) Raspbian 下编译通过吗?按上述教学视频,我安装到 make 时报错;错误提示: /tmp/ccdJjezN.s:585: Error: bad instruction 'pause' Makefile:182: recipe for target 'swoole_table.lo' failed make: *** [swoole_table.lo] Error 1

  • hansen

    在 Rango 帮助下,swoole-1.7.4-stable 于树莓派下安装成功。

  • phper

    你好,建议顺便也把windows上的编译dll也讲下吧。

  • 测试微薄快乐生活

    你好,这个既然可以在linux系统下安装,那么应该可以在mac os系统下也可以安装吧?

  • 高峰

    跟着教程安装的。可是用php -m 没有找到swoole ,但是phpinfo()里却有!运行swoole-src/examples 报PHP Fatal error: Class 'swoole_server' not found in /Data/apps/swoole-src/examples/server.php on line 52 请指点一下

  • 张鹏

    centos6 cname -a ==> Linux localhost.localdomain 2.6.32-504.12.2.el6.i686 #1 SMP Wed Mar 11 19:05:53 UTC 2015 i686 i686 i386 GNU/Linux

    php server.php MasterPid=4645|Manager_pid=0 Server: start.Swoole version is [1.7.16] php server.php: master: /usr/local/src/swoole-src/src/reactor/ReactorBase.c:138: swReactor_add: Assertion `fd <= SwooleG.max_sockets' failed. Aborted (core dumped)

  • dovelearn

    老师,我按照您视频中的步骤执行:gcc -o server server.c -lswoole 命令时出现了下面这样的错误: In file included from /usr/include/swoole/Server.h:20:0, from server.c:4: /usr/include/swoole/swoole.h:120:27: fatal error: swoole_config.h: No such file or directory #include "swoole_config.h" ^ compilation terminated.

    我看了,确实没有swoole_config.h文件,需要怎样解决?

  • secret

    老师,为什么我的ubuntu安装不了git 没有git行吗

  • 袁从灏

    ./swoole_config.h:21:2: error: "GCC 4.4 or later required."

    error "GCC 4.4 or later required."

    ^

    mac编译出现这个错误什么情况啊

  • deari

    如果不介意,直接把config 的那一行注释掉,我编译过了; 感觉本身也不是用的gcc

  • Zli

    解决了么?我现在也是这个问题

  • 程铭栋

    请问下,我用php -m可以看到swoole了,还有必要再跟着视频走了吗? 后面对我用php开发swoole有影响吗?

  • sjywz

    make 编译失败! Makefile:181: recipe for target 'swoole.lo' failed

  • newbie_12138

    我想用c库运行,编译时有问题.看下这个什么问题???? 一开始 : gcc -o c_server server.c -lswoole In file included from /usr/include/swoole/Server.h:20:0, from server.c:4: /usr/include/swoole/swoole.h:121:27: fatal error: swoole_config.h: No such file or directory #include "swoole_config.h" ^ compilation terminated. 然后: cp swoole_config.h /usr/include/swoole/ 然后 : gcc -o c_server server.c -lswoole server.c: In function ‘main’: server.c:78:17: warning: assignment from incompatible pointer type [enabled by default] serv.onReceive = my_onReceive; ^ server.c: At top level: server.c:111:5: error: conflicting types for ‘my_onReceive’ int my_onReceive(swServer *serv, swEventData *req) ^ server.c:8:5: note: previous declaration of ‘my_onReceive’ was here int my_onReceive(swFactory *factory, swEventData *req); ^

  • eyesonly

    好赞啊

  • 啥

    你修改的那个php.ini fpm还是cli的?

  • smile

    您好,我有些问题需要请教,能否给个email

  • MJ

    感谢rango的教程,已成功安装

  • 可樂ζ

    mac 支持吗?

  • h911q

    老师,我执行php server.php时出现下面的错误, [root@vm175 swoole-src]# /webser/php53/bin/php examples/server.php MasterPid=22089|Manager_pid=0 Server: start.Swoole version is [1.8.1-alpha]

    22090 15:37:02 WorkerStart: MasterPid=22089|Manager_pid=22089|WorkerId=1|WorkerPid=22090

    22091 15:37:02 WorkerStart: MasterPid=22089|Manager_pid=22089|WorkerId=0|WorkerPid=22091

    22090 15:37:03 Timer#1

    22090 15:37:04 Timer#1

    最下面一行就一直循环,我的系统是linux,请问这是什么原因?

  • wish

    老师,什么录音软件?

  • pe

    执行make 报错 /usr/bin/ld: reopening src/network/.libs/Manager.o: Cannot allocate memory

    /usr/bin/ld: BFD (GNU Binutils for Debian) 2.22 internal error, aborting at ../../bfd/merge.c line 877 in _bfd_merged_section_offset

    /usr/bin/ld: Please report this bug.

    collect2: error: ld returned 1 exit status

    是我的debian 版本不支持吗

  • 褚兆前

    Makefile:194: recipe for target 'swoole.lo' failed 编译安装出现这种错误 ubuntu16.04

  • 疯狂的Camaro

    老师
    我直接 ./configure会报错这是为什么 configure: error: Cannot find php-config. Please use --with-php-config=PATH

  • 看岁月流逝

    不错,今天开始学习,编译没有错误

  • ayamzh

    没啥区别

  • ayamzh

    需要指定PHP配置文件 --with-php-config=PATH

  • 1234

    文字教程都删掉了吗?有时候上班不方便是看视频教程啊

  • 1234

    直接用pecl install swoole 也很好丫。。

  • 小僧空空

    高峰 跟着教程安装的。可是用php -m 没有找到swoole ,但是phpinfo()里却有!运行swoole-src/examples 报PHP Fatal error: Class 'swoole_server' not found in /Data/apps/swoole-src/examples/server.php on line 52 请指点一下

    我觉得你是修改了php-fpm下的php.ini而不是cli底下的php.ini

  • byter

    这里的视频都已经失效,掌握swoole对开发者要求比较高, 推荐学习 PHP底层内核源码与扩展开发 这门课程

    地址:http://edu.csdn.net/course/detail/6261

  • 幽壑潜蛟

    失效了怎么搞

  • fornnnn

    http://id.tudou.com/i/UMjkwMzQyMDMyMA==?spm=a2h28.8313471.info.2 不知道这里面是不是韩老师发的版本,感觉像,给大家分享一下。

  • 何斌

    现在是付费课程的黄金时期,建议视频教程开始收费,这样才可以持续发展

  • 镜中看世界

    链接失效了,大佬重新分享一下呢