常见错误

make或make install无法执行或编译错误

NOTICE: PHP message: PHP Warning: PHP Startup: swoole: Unable to initialize module
Module compiled with module API=20090626
PHP compiled with module API=20121212
These options need to match
in Unknown on line 0

php版本和编译时使用的phpize和php-config不对应,需要使用绝对路径来进行编译。使用绝对路径执行PHP。

/usr/local/php-5.4.17/bin/phpize
./configure --with-php-config=/usr/local/php-5.4.17/bin/php-config
/usr/local/php-5.4.17/bin/php server.php

缺少mysql头文件

php_mysqli_structs.h:64:23: fatal error: my_global.h: No such file or directory

没有找到mysqlclient的头文件,需要安装mysqlclient-dev

建议自行编译php,不要使用Linux包管理系统自带的php版本

缺少pcre.h头文件

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

原因是缺少pcre,需要安装libpcre

Cannot find autoconf

phpize命令需要autoconf工具,请先安装它。

make install失败

make install需要root权限,如果不是以root用户登录的,请用sudo或su,再进行安装。

修改了php.ini后,php -m或phpinfo中没有swoole

请移步该文档

缺少hiredis.h

编译配置时启用--enable-async-redis,但没有安装hiredis库,编译时会报fatal error: 'hiredis/hiredis.h' file not found,请安装hiredis库或者去掉--enable-async-redis选项。

error: too many arguments to function 'zend_exception_error'

你的PHP版本低于PHP-5.3.10,请升级PHP版本。

如果还是编译失败了怎么办?

不要气馁,加入我们的 Swoole官方QQ群,你的问题会在24小时内被解决。



  • 贝克汉狼

    phpinfo里没有,但是php -m里有。 正常使用了 求解释

  • -
    -

    为啥-m有 指针没有

  • 一只特立独行的猫

    php -m有但是phpinfo灭有的话,重启php-fpm试试?

  • codinghuang

    检查一下命令行模式和FPM模式用的php.ini文件是不是同一个

  • Hi!girl

    php7.1 用pecl安装swoole扩展,生成了swoole.so ,再php.ini 中也加入了extension=swoole.so ,php -m,没有swoole。php --ri swoole 提示extension swoole no present

  • 素丝莲芯

    编译失败/var/tmp/swoole/swoole_config.h:22:2: 错误:#error "GCC 4.8 or later required." make: *** [src/core/array.lo] 错误 1 ERROR: `make' failed 我的gcc是6.1.0版本的怎么也make失败 gcc 版本 6.1.0 (GCC)

  • 纸短情长

    ./swoole_config.h:22:2: error: #error "GCC 4.8 or later required. 我的gcc版本 8.2.0 COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/8.2.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-8.2.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib Thread model: posix gcc version 8.2.0 (GCC)

  • 纸短情长

    好像根本没人会回我

  • 社会主义接班人

    mac 装swoole的时候报出缺少openssl ssl.h头文件但是openssl绝对是装了 的

  • 滑稽园杠把子

    @纸短情长 你应该有多个gcc,which一下看使用的那个。

  • 不想说什么

    报错信息

    /swoole_config.h:22:2: error: #error "GCC 4.8 or later required"
    make: *** [src/core/array.lo] Error 1
    

    我的GCC版本是8.2,swoole版本swoole-4.3.6,php版本7.2, 报这个错误到底是什么原因啊